Maven 3.2+ ▸ ** Usaremos Gradle para la presentación** ▸ Por defecto Spring Boot 1.4.0 requiere >= Java 7 ▸ Spring Framework 4.3.3 o superior. ▸ Editores Eclipse, IntelliJ, Netbeans.
) la aplicación mediante la instancia y carga del contexto adecuado. Por defecto se cargan 2 contextos: • AnnotationConfigApplicationContext • AnnotationConfigEmbeddedWebApplicationContext(si fuese o no una app web)
de configuración. @EnableAutoConfiguration Esta anotación indica a Spring Boot que intente configurar Spring, en base a las dependencias declaradas en los jars que han agregado. @ComponentScan Permite a Spring buscar componentes marcados en este u otros paquetes.(basePackage)
pruebas. • JUnit • spring-test • Mockito, • Hamcrest • Spock • AssertJ • @SpringApplicationConfiguration como alternativa a @ContextConfiguration para implementar las características de Spring Boot
mediante TestRestTemplate • Permite levantar un contexto web,definiendo un puerto random con webEnvironment=WebEnvironment.RANDOM_PORT) Puerto Aleatorio Soporte RestTemplate Soporte de Asserts!
del mock también es inyectada • Soporte de Mocito mediante @MockBean , se puede utilizar para simular un bean dentro del Application Context. • Los mocks son restablecidos después de la ejecución cada método del test. Soporte Mockito
limita a escanear los siguientes beans. • @Controller@ControllerAdvice, @JsonComponent • Filter, WebMvcConfigurer y HandlerMethodArgumentResolver * @Component no son escaneados cuando se ocupa esta anotación. Una buena práctica, es limitar a un controlador por test, y combinarlo con un @MockBean para proveer una implementación para los componentes colaboradores. Un controlador Provee el soporte para testar MVC, es el punto de entrada para el lado del servidor.
pueda ponerse en funcionamiento tan pronto como sea posible, arrancar aplicaciones de manera fácil y rápida. • Incluye un servidores embebidos, lo que permite levantar rápido una aplicación con todas las características web. • Todo el soporte para trabajar con MVC. • Resolvedores de vistas. • Soporte recursos estáticos • Templates Engines. • Manejo de sesiones. • Soporte Internacionalización • Acceso a datos • Soporte para crear sitios RESTful. • Seguridad y control de acceso.
Tomcat y Jetty. • Permite customizar el contenedor mediante las propiedades de la clase ServerProperties.java Puerto Especifico! Contexto y nombre de la aplicación
implementando la Interfaz EmbeddedServletContainerCustomizer Puerto Especifico! También se pueden customizar las propiedades de un contenedor especifico del contenido como server.tomcat.*
1. Logback 2. Log4j 3. Log4j2 4. java.util.Logging • Starters con Logback proveen una salida en colores. • INFO es el nivel por defecto. • DEBUG se puede agregar usando la opción —debug • Los niveles del log pueden ser customizados mediante la configuración • logging.level.cl.javatalks=TRACE
del log. • Según la implementación, se pueden personalizar las trazas definiendo el archivo de configuración para cada uno de ellos. • Logback : logback.xml • Log4j : log4j.properties ó log4j.xml • Java Util Logging: logging.properties
LA SALUD DE NUESTRA APLICACIÓN. EsAgrega características no funcionales comunes para la aplicación, las expone mediante endpoint para interactuar con ellas.(REST/JMX)
• Soporte para generar un war en un contenedor “normal”, para eso necesitamos extender SpringBootServletInitializer en vez de la clase SpringApplication