Spring es uno de los frameworks Java EE más utilizados . He escrito mucho sobre Spring Tutorial y esta es una publicación de resumen que funcionará como índice para repasarlos todos en orden.
Tutorial de primavera
Todos los tutoriales de primavera vienen con proyectos de ejemplo que puedes descargar de las páginas del tutorial.
Tutoriales básicos de Spring
Spring Framework se basa en dos principios de diseño: inyección de dependencias y programación orientada a aspectos . Consulta los siguientes tutoriales para conocer los conceptos básicos de Spring con ejemplos de implementación.
- Spring Framework Una breve mirada a la evolución de Spring Framework, su arquitectura, componentes centrales y principios que guían el desarrollo de este increíble marco.
- Ejemplo de inyección de dependencia en Java Esta publicación proporciona los conceptos básicos de la inyección de dependencia y cómo podemos implementar el patrón DI en aplicaciones Java simples. Es un buen punto de partida para luego pasar a la inyección de dependencia en Spring.
- Inyección de dependencias en Spring Este tutorial tiene como objetivo proporcionar un ejemplo de inyección de dependencias en el marco Spring con una configuración basada en anotaciones y una configuración basada en XML . El tutorial también incluye un programa de prueba JUnit para validar la implementación.
- Ejemplo de Spring AOP Este tutorial explica los conceptos básicos de la programación orientada a aspectos, como Aspect, Advice, Pointcut, Joinpoint, AOP Proxy y Weaving. El tutorial explica los diferentes tipos de Advice con un programa simple.
- Perfiles de métodos de Spring AOP
- Tutorial de ejemplo de contenedor Spring IoC y Spring Bean Este tutorial tiene como objetivo explicar los conceptos básicos del contenedor Spring IoC y Spring Bean con programas de ejemplo. El tutorial explica sobre el contenedor IoC y sus clases principales y las diferentes formas de crear
ApplicationContext. El tutorial también explica sobre Spring Bean, los ámbitos de Spring Bean, las diferentes formas de configurar Spring Bean (XML, anotación, basado en Java) a través de un proyecto de ejemplo. - Los alcances de Spring Bean nos permiten tener un control más granular de la creación de instancias de bean.
- Ejemplo de cableado automático de Spring Bean El contenedor IoC de Spring es inteligente para determinar el bean para inyectar dependencias a través del atributo “spring autowire”. Este tutorial explica los diferentes tipos de cableado automático con un proyecto de ejemplo.
- Ciclo de vida de Spring Bean Los Spring Beans son la parte más importante de cualquier aplicación Spring. Spring ApplicationContext es responsable de inicializar los Spring Beans definidos en el archivo de configuración de Spring Bean. Este tutorial explica las diferentes formas en las que podemos proporcionar métodos de post-inicialización y pre-destrucción en un Spring Bean: interfaces InitializingBean/DisposableBean o atributos init-method/destroy-method. Spring Framework también admite
@PostConstructanotaciones@PreDestroypara definir métodos post-init y pre-destroy. Estas anotaciones son parte deljavax.annotationpaquete. También aprenderá sobre las interfaces Spring Aware que puede usar para inyectar objetos de la API de Servlet en el Spring Bean. - Spring 5 se lanzó a fines de 2017. Spring 5 trae una actualización masiva al marco Spring.
- Spring WebFlux Spring WebFlux es el nuevo módulo introducido en Spring 5. Spring WebFlux es el primer paso hacia el modelo de programación reactiva en el marco Spring.
- Spring Data JPA Spring Data JPA es parte de la familia Spring Data. Spring Data facilita la creación de aplicaciones impulsadas por Spring que utilizan nuevas formas de acceder a los datos, como bases de datos no relacionales, marcos de reducción de mapas, servicios en la nube y soporte avanzado para bases de datos relacionales.
Anotaciones de primavera
- Anotaciones de Spring Una breve mirada a las anotaciones más importantes en el marco de Spring.
- La anotación @Bean de Spring seaplica a un método para especificar que devuelve un bean que será administrado por el contexto de Spring. La anotación de Spring Bean generalmente se declara en los métodos de las clases de configuración.
- La anotación Spring @Service es una especialización de la anotación @Component . La anotación Spring Service se puede aplicar solo a clases. Se utiliza para marcar la clase como proveedor de servicios.
- La anotación Spring @Component se utiliza para indicar que una clase es un componente. Esto significa que el marco Spring detectará automáticamente estas clases para la inyección de dependencias cuando se utilice la configuración basada en anotaciones y el escaneo de rutas de clases.
- La anotación Spring @RestController es una anotación de conveniencia que a su vez está anotada con @Controller y @ResponseBody . Esta anotación se aplica a una clase para marcarla como un controlador de solicitudes.
- La anotación Spring Controller es una especialización de la anotación @Component . La anotación Spring Controller se utiliza normalmente en combinación con métodos de controlador anotados basados en la anotación RequestMapping.
- La anotación @Repository de Spring se utiliza para indicar que la clase proporciona el mecanismo para realizar operaciones de almacenamiento, recuperación, búsqueda, actualización y eliminación de objetos.
- La anotación @Configuration de Spring esparte del marco principal de Spring. La anotación de configuración de Spring indica que la clase tiene métodos de definición @Bean . De esta manera, el contenedor de Spring puede procesar la clase y generar Spring Beans para usar en la aplicación.
- La anotación @Value de Spring se utiliza para asignar valores predeterminados a las variables y a los argumentos de los métodos. Podemos leer las variables de entorno de Spring, así como las variables del sistema, mediante la anotación @Value .
- La anotación @PropertySource de Spring seutiliza para proporcionar un archivo de propiedades al entorno de Spring. Esta anotación se utiliza con las clases @Configuration .
- Spring @PostConstruct y @PreDestroy Cuando anotamos un método en Spring Bean con la anotación @PostConstruct , se ejecuta después de que se inicializa el bean Spring. Cuando anotamos un método de Spring Bean con la anotación PreDestroy, se llama cuando la instancia del bean se elimina del contexto.
- La anotación @Async de Spring nospermite crear métodos asincrónicos en Spring. Exploremos @Async en este tutorial sobre el framework Spring.
Tutoriales de Spring Boot
- Tutorial de arranque con Spring Boot
- Componentes de arranque por resorte
- La anotación @SpringBootApplication de Spring Boot, clase SpringApplication seutiliza para marcar una clase de configuración que declara uno o más métodos @Bean y también activa la configuración automática y el escaneo de componentes. La clase SpringApplication de Spring Boot se utiliza para iniciar y lanzar una aplicación Spring desde un método principal de Java.
- Spring Boot REST Este tutorial explica cómo crear servicios web REST utilizando el módulo Spring Boot.
- Spring Boot MongoDB Aprenda a usar MongoDB en una aplicación Spring Boot.
- Caché Redis de Spring Boot Este artículo explica cómo integrar Caché Redis en una aplicación Spring Boot.
- Spring Boot Elasticsearch Este artículo explica cómo integrar Elasticsearch con una aplicación Spring Boot.
- Puntos finales del actuador Spring Boot Los puntos finales del actuador Spring Boot nos permiten monitorear e interactuar con nuestra aplicación. Spring Actuator es un submódulo de Spring Boot y proporciona puntos finales integrados que podemos habilitar y deshabilitar para nuestra aplicación.
- Interfaz web de inicialización de Spring Boot
- Ejemplo de CLI de Spring Boot
- Spring Boot: no se puede determinar la clase del controlador de base de datos integrado para el tipo de base de datos NINGUNO
- Preguntas de la entrevista de Spring Boot
Tutorial de Spring MVC
- Tutorial de Spring MVC para principiantes con Spring Tool Suite Los módulos de Spring MVC nos ayudan a crear aplicaciones web basadas en Java. Esta es la primera publicación de la serie Spring MVC y aprenderá a usar Spring Tool Suite (STS) y a crear una aplicación web simple utilizando el marco Spring MVC.
- Ejemplo de Spring MVC Este tutorial explica cómo crear una aplicación Spring MVC usando maven y Eclipse IDE, sin utilizar Spring Tool Suite.
- Ejemplo de servicio web Restful de Spring con JSON Spring Framework ofrece compatibilidad integrada con la API JSON de Jackson y podemos utilizarla para crear un servicio web Restful que devolverá una respuesta JSON. Este tutorial explica todas las diferentes partes de la aplicación que se requieren para configurar nuestra aplicación para que devuelva una respuesta JSON e implemente la API Rest.
- Spring REST XML y JSON Spring REST admite mensajes de solicitud-respuesta basados en XML y JSON. Este tutorial explica con qué facilidad podemos admitir ambos mediante configuraciones simples.
- Spring RestTemplate Spring RestTemplate ofrece una forma conveniente de probar servicios web RESTful. Podemos usar RestTemplate para probar servicios web RESTful basados en HTTP, no es compatible con el protocolo HTTPS.
- Ejemplo de carga de archivos de Spring MVC La carga de archivos es una de las tareas más comunes de una aplicación web, por eso Spring ofrece compatibilidad integrada para la carga de archivos mediante la integración de la API Apache Commons FileUpload . Este tutorial tiene como objetivo brindar una comprensión de cómo se configuran los diferentes componentes con un ejemplo de carga de uno o varios archivos.
- Ejemplo de internacionalización y localización de Spring MVC En cualquier aplicación web con usuarios de todo el mundo, la internacionalización (i18n) o la localización (L10n) son muy importantes para una mejor interacción del usuario. La mayoría de los marcos de aplicaciones web proporcionan formas sencillas de localizar la aplicación en función de la configuración regional del usuario. Spring también sigue el patrón y proporciona un amplio soporte para la internacionalización (i18n) mediante el uso de interceptores Spring, solucionadores de configuración regional y paquetes de recursos para diferentes configuraciones regionales. Este tutorial explica el proceso i18n y l10n en una aplicación web Spring a través de un proyecto de ejemplo.
- Ejemplo de validación de formularios Spring MVC Cuando aceptamos entradas de usuario en cualquier aplicación web, se hace necesario validarlas. Podemos validar la entrada del usuario en el lado del cliente usando JavaScript, pero también es necesario validarlas en el lado del servidor para asegurarnos de que estamos procesando datos válidos en caso de que el usuario tenga JavaScript deshabilitado. Spring MVC Framework admite las especificaciones JSR-303 de forma predeterminada y todo lo que necesitamos es agregar JSR-303 y sus dependencias de implementación en la aplicación Spring MVC. Spring también proporciona la anotación @Validator y
BindingResultla clase a través de las cuales podemos obtener los errores generados por la implementación del Validator en el método del controlador de solicitudes del controlador. El tutorial proporciona un ejemplo de validación de formularios utilizando anotaciones y también explica el proceso para crear nuestro propio validador personalizado. - Manejo de excepciones de Spring MVC Cualquier aplicación web requiere un buen diseño para el manejo de excepciones porque no queremos mostrar una página generada por un contenedor cuando nuestra aplicación lanza una excepción no controlada. El marco Spring MVC proporciona un enfoque para el manejo robusto de excepciones en clases de controlador, manejador de excepciones global y a través de la implementación de HandlerExceptionResolver. Consulte el proyecto de ejemplo en el tutorial para obtener más información sobre el manejo de excepciones de Spring MVC.
- Ejemplo de interceptores Spring MVC A veces queremos interceptar la solicitud HTTP y realizar algún procesamiento antes de entregársela a los métodos del controlador. Ahí es donde los interceptores Spring MVC resultan útiles. Podemos crear nuestros propios interceptores en Spring implementando la interfaz org.springframework.web.servlet.HandlerInterceptor o anulando la clase abstracta org.springframework.web.servlet.handler.HandlerInterceptorAdapter que proporciona la implementación base de esta interfaz. Consulta el proyecto de ejemplo en el tutorial para obtener más información sobre los interceptores Spring MVC.
- Ejemplo de RequestMapping de Spring MVC @RequestMapping es una de las anotaciones de Spring MVC más utilizadas.
org.springframework.web.bind.annotation.RequestMappingLa anotación se utiliza para asignar solicitudes web a clases de controlador específicas y/o métodos de controlador. @RequestMapping se puede aplicar a la clase del controlador, así como a los métodos. Este tutorial explica los diferentes usos con ejemplos y un programa de prueba. - Gestión de sesiones de Spring El módulo Spring Session proporciona API e implementación para gestionar sesiones de usuario en una aplicación web. Spring Session desacopla la lógica de gestión de sesiones de la aplicación, lo que la hace más tolerante a fallos. Spring Session consta de los siguientes módulos: Spring Session Core, Spring Session JDBC, Spring Session Data Redis y Spring Session Hazelcast.
- Ejemplo de Gradle de Spring MVC
Tutoriales de primavera
- Spring Batch nos permite procesar fácilmente una gran cantidad de registros mediante la creación de lotes. Este artículo explica qué es Spring Batch, su arquitectura y cuándo utilizar la aplicación Spring Batch.
- Ejemplo de Spring Batch Este tutorial explica cómo crear un proyecto de Spring Batch para procesar archivos CSV grandes.
Tutorial de JDBC de Spring
La mayoría de las aplicaciones empresariales trabajan con bases de datos relacionales. Por eso, Spring ofrece un amplio soporte para la API de JDBC y también proporciona contenedores para realizar operaciones CRUD de bases de datos.
- Ejemplo de CRUD de JDBC y JdbcTemplate con DataSource de Spring Framework Spring Framework proporciona una excelente integración con la API de JDBC y proporciona la clase de utilidad JdbcTemplate que podemos usar para evitar el código repetitivo de nuestra lógica de operaciones de base de datos, como abrir/cerrar conexión, ResultSet, PreparedStatement, etc. Este tutorial proporciona un ejemplo de operaciones CRUD utilizando la integración de JDBC con Spring.
- Ejemplo de Spring DataSource JNDI con Tomcat También sabemos que DataSource con JNDI es la forma preferida de lograr la agrupación de conexiones y obtener los beneficios de las implementaciones de contenedores. Este tutorial explica cómo podemos usar DataSource definido en el contenedor Tomcat como un recurso JNDI para obtener una conexión a la base de datos y realizar diferentes operaciones. Esta es la forma preferida de obtener conexiones a la base de datos en una aplicación web Spring porque el contenedor se encarga de administrar los recursos de la base de datos.
- Ejemplo de gestión de transacciones de Spring con JDBC La gestión de transacciones es una tarea trivial en cualquier aplicación empresarial. Spring ofrece un amplio soporte para la gestión de transacciones y ayuda a los desarrolladores a centrarse más en la lógica empresarial en lugar de preocuparse por la integridad de los datos. La gestión de transacciones declarativa de Spring es el enfoque preferido para la gestión de transacciones porque es muy fácil de usar y no hay dependencia directa, utiliza AOP e inyección de dependencia.
- Spring JdbcTemplate La clase Spring JdbcTemplate es el núcleo del módulo Spring JDBC. Proporciona varios métodos para ejecutar consultas SQL, leer datos de conjuntos de resultados, etc.
Tutorial de hibernación en primavera
Spring es uno de los frameworks Java EE más utilizados e Hibernate es el mejor framework ORM del mercado. Por eso, Spring ofrece compatibilidad integrada con Hibernate en el módulo ORM de Spring .
- Ejemplo de integración de Spring Hibernate Este tutorial proporciona detalles completos con un ejemplo para integrar Hibernate con la aplicación independiente Spring. El ejemplo muestra la integración entre Spring 4 + Hibernate 4 y Spring 4 + Hibernate 3.
- Ejemplo de CRUD de Hibernate con Spring MVC Spring MVC se puede integrar fácilmente con el marco de trabajo Hibernate. Además, podemos utilizar la gestión de transacciones declarativas de Spring, que hace que nuestra aplicación esté libre de código repetitivo.
- Ejemplo de ORM de Spring
- ORM de Spring con gestión de transacciones AOP
Tutorial de seguridad de Spring
Spring Security se puede aplicar a cualquier aplicación web Java, funciona como una parte separada de la aplicación y proporciona diferentes formas de autenticación y autorización.
- Seguridad de Spring en la aplicación web de servlet Este tutorial explica los conceptos básicos del módulo de seguridad de Spring. También proporciona un ejemplo de autenticación en memoria, basada en DAO y JDBC con un proyecto de ejemplo.
- Ejemplo de seguridad de Spring MVC Si utilizamos el marco Spring MVC, aplicar la seguridad de Spring es muy fácil porque ya tenemos configuraciones basadas en Spring. Todo lo que necesitamos es conectar las configuraciones relacionadas con la seguridad.
- Seguridad de Spring 4 Este artículo explica el módulo Spring Security introducido en Spring 4.
- Spring Security MVC Este artículo explica cómo utilizar Spring Security en una aplicación Spring MVC.
- Autorización de acceso basada en roles de Spring Security
Tutoriales de integración de Spring
- Tutorial de ejemplo de integración de JSF con Spring JSF es un marco basado en componentes con gran énfasis en las interfaces de usuario, mientras que el principio central de Spring es la inyección de dependencias. Este tutorial explica cómo aprovecharlos al máximo mediante la integración de JSF con Spring Framework.
- Tutorial de ejemplo de integración de PrimeFaces con Spring e Hibernate Este es uno de los ejemplos de integración en los que explicamos cómo integrar PrimeFaces con el marco de trabajo Spring e Hibernate. Esta es una combinación muy utilizada para aprovechar al máximo cada uno de los marcos de trabajo.
- Ejemplo de integración de SpringRoo con Hibernate y PrimeFaces SpringRoo es una herramienta de software de código abierto que utiliza el concepto de convención sobre configuración para facilitar la producción de aplicaciones de software empresariales basadas en Java mediante una línea de comandos controlada. Este tutorial explica la integración entre los marcos SpringRoo, PrimeFaces e Hibernate.
Mensajería de primavera
- AMQP de primavera
- Conejo de primaveraMQ
- Ejemplo de Spring RabbitMQ
- Parte 1 de Spring ActiveMQ
- Parte 2 de Spring ActiveMQ
Preguntas de la entrevista de primavera
Si vas a una entrevista de Java EE donde Spring es un requisito, espero que esta publicación te ayude a refrescar tus conocimientos rápidamente. Eso es todo por ahora en cuanto a los tutoriales de Spring . Spring Framework tiene muchos módulos y publicaré sobre ellos en el futuro y seguiré incluyéndolos aquí. Por lo tanto, te sugiero que marques esta publicación como favorita para futuras referencias.