Springboot常用配置
1、OncePerRequestFilter 类拦截器
能够确保在一次请求只通过一次filter,而不需要重复执行
可用于 Token 拦截并解析等
2、@PostConstruct
@PostConstruct该注解被用来修饰一个非静态的void()方法。
被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。 PostConstruct在构造函数之后执行,init()方法之前执行。
通常我们会是在Spring框架中使用到@PostConstruct注解
该注解的方法在整个Bean初始化中的执行顺序:Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注释的方法)
应用:在静态方法中调用依赖注入的Bean中的方法。
3、ApplicationListener《ApplicationReadyEvent》
ContextRefreshedEvent
ApplicationContext 被初始化或刷新时,该事件被发布。
这也可以在 ConfigurableApplicationContext接口中使用 refresh() 方法来发生。
此处的初始化是指:所有的Bean被成功装载,后处理Bean被检测并激活,所有Singleton Bean 被预实例化,ApplicationContext容器已就绪可用
=实例=
在数据库初始化完成之后用于加载sql文件,文件内容可以为存储过程或者sql语句
4、ZuulFilter 网关拦截接口
Zuul Filter全部继承于com.netflix.zuul.ZuulFilter这个抽象类,该抽象类则实现了com.netflix.zuul.IZuulFilter和java.lang.Comparable,其中IZuulFilter接口定义了以下两个方法。
shouldFilter() 判断是否致性run()方法,该方法返回true,表示允许请求,执行run()方法
run() 过滤器核心方法,实现该方法从而达到我们的目的
5、RequestContextHolder 获取当前请求 Request
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
6、SqlSessionTemplate Mybatis提供
可直接运行sql语句
配合 MaterialResultHandler -> handleResult() 方法,能够得到流的形式的每一条数据返回结果
进行每一条数据处理
7、spring之 JdbcTemplate
import org.springframework.jdbc.core.JdbcTemplate;
spring提供的JdbcTemplate,相当于模板,在配置好独立的Alibaba数据源之后,能够把数据源加入一个新的JdbcTemplate,能够对三方数据库进行一系列操作
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
try {
jdbcTemplate.getDataSource().getConnection().isValid(1000);
System.out.println("连接成功");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("连接失败");
System.out.println(e.getMessage());
}
8、验证表单重复提交 RepeatSubmitInterceptor
重复提交拦截器:HandlerInterceptorAdapter
通过继承该类:RepeatSubmitInterceptor即可实现