Servlet和Springboot的关系
spring boot 三大特性:
- 组件自动装配:webMVC、webFlux、JDBC等(@EnableAutoConfiguration,@Configuration)
- 嵌入式Web容器:Tomcat、Jetty以及undertow(简单说下我的理解,Spring的核心功能是IOC和DI。那么web部分,在springboot中肯定是做嵌入式的集成。Springboot中的web容器分为两类:1,web
Servlet容器:Tomcat, Jetty, undertow。2,web Reactive容器:Netty, Web Server) - 生产准备特性:指标、健康检查、外部化部署等
所以springboot的web容器是基于servelet实现的。
监听器的分类和作用
- HttpSessionListener(统计用户数量)
- ServletContextListener(加载初始化信息)
- ServletRequestListener(监控request内置对象)
- 自定义监听事件? extends ApplicationEvent和监听器? implements AppilicationListener
Springboot下自定义监听器的使用
1, 创建监听事件
2, 创建监听器
3, 发布事件
代码说明:
我想要监控内存中的两个对象,第一个为名为tom的猪,第二个为名为sec的猪。这两只猪在spring容器启动后,会交给spring管理,每当有用户请求controller层修改这两只猪的信息,都会通过监听器监听到,并将信息打印出来。
//PigFactory:将两只猪注入Spring容器中。
@Configuration
public class PigFactory {
@Bean(name = "tom")
public Pig getPigTom(){
return new Pig("tom", "i am tom");
}
@Bean(name