SpringBoot

SpringBoot

SpringBoot
1.优点
1.1.独立运行
1.1.1.内置Tomcat、Jetty容器,jar包独立运行
1.2.简化配置
1.2.1.spring-boot-starter-web启动器自动依赖其他组件,简少了maven的配置
1.3.无代码生成和XML配置
1.3.1.配置过程中无代码生成,也无需XML配置文件就能完成所有配置工作,都是借助于条件注解完成的
1.4.应用监控
1.4.1.提供一系列端点可以监控服务及应用,做健康检测
2.配置文件
2.1.bootstrap
2.1.1.由父 ApplicationContext 加载,比 applicaton 优先加载
2.1.2.boostrap 里面的属性不能被覆盖
2.1.3.一些加密/解密的场景
2.2.application
2.2.1.主要用于 Spring Boot 项目的自动化配置
2.3.读取方式
[email protected]注解
[email protected]注解
[email protected][email protected]注解
[email protected][email protected]注解
2.3.5.通过Environment注入获取
3.启动时运行特定的代码
3.1.ApplicationRunner接口run()方法
3.2.CommandLineRunner接口run()方法
4.核心注解
[email protected]
4.1.1.启动类上的注解
[email protected]
4.2.1.组合了 @Configuration 注解
4.2.2.能够去注册一些额外的Bean,并且导入一些额外的配置
4.2.3.把该类变成一个配置类,不需要额外的XML进行配置
[email protected]
4.3.1.启用SpringBoot内置的自动配置功能
[email protected]
4.4.1.等同于spring的XML配置文件
[email protected]
4.5.1.Spring组件扫描
5.拦截器
5.1.定义拦截器
5.1.1.class MyInterceptor implements HandlerInterceptor
5.1.2.preHandle()
5.1.3.postHandle()
5.1.4.afterCompletion()
5.2.配置拦截器
[email protected]注解
5.2.2.class InterceptorConfig implements WebMvcConfigurer
5.2.3.重写addInterceptors()方法
registry.addInterceptor(new MyInterceptor())
5.3.拦截器是属于spring的一个组件,因此可以使用spring的所有资源,对象,如service对象,数据源,事务控制
5.4.拦截器能够深入到方法前后,异常抛出前后,因此拦截器具有更大的弹性
6.过滤器
6.1.使用spring boot提供的FilterRegistrationBean注册Filter
6.1.1.先定义Filter
class MyFilter implements Filter
重写doFilter()
调用filter链中的下一个filter:filterChain.doFilter()
6.1.2.注册自定义Filter
@Configuration注解FilterConfig 类
@Bean注解方法:new FilterRegistrationBean(new MyFilter())
6.2.使用原生servlet注解定义Filter
6.2.1.注入spring容器:@Component
6.2.2.定义filterName 和过滤的url
@WebFilter(filterName = “my2Filter” ,urlPatterns = “/*”)
6.2.3.重写doFilter()方法
6.3.Filter是Servlet容器规定的,只能使用在servlet容器中
6.4.Filter还在servlet前后起作用