1.监听器
参考:https://blog.csdn.net/jjkang_/article/details/88548120
监听器的应用属于观察者模式
自定义一个监听的过程如下:
//定义一个被监听的时事件:
public class StudentAddEvent extends ApplicationEvent
{
...
}
//定义监听该事件的监听器
@Component
public class StudentAddListener implements ApplicationListener<StudentAddEvent> {
@Override
public void onApplicationEvent(StudentAddEvent studentAddEvent) {
String info = studentAddEvent.getInfo();
System.out.println("增加的学生信息:" + info);
}
}
//发布一个事件给监听器
@Autowired
private ApplicationContext context;
public void getEvent(){
context.publishEvent(new Myevent());
}
2.Spring中的监听器
ContextLoaderListener:
public class ContextLoaderListener extends ContextLoader implements ServletContextListener
//实现了ServletContextListener,就会在web应用启动后和销毁后执行初始化或销毁操作
3、输入网址后的详细过程结合SpringMVC
(1)DNS解析:浏览器缓存,本地缓存,本地host文件,路由器缓存,DNS服务器
(2)简历TCP连接,浏览器使用一个随机端口,连接服务器的80端口
4、springboot的自动配置原理
启动springboot应用的时候,只使用了一个注解@SpringBootApplication
主要包括三个重要的配置:
@Spring Boot Configuration:标注当前类是配置类,使用Java类的方式进行配置
@EnableAutoConfiguration:开启自动配置功能,会自动选择加载实现了@EnableAutoConfiguration的类
@ComponentScan:自动扫描(默认当前类下的)package,将Component/Repository/Service/Controller加载到IOC容器
@EnableAutoConfiguration和@ComponentScan的区别和相同点:都能扫描包导入IOC容器,区别是ComponentScan导入指定包和子包下的标记了指定注解的类,EnableAutoConfiguration主要负责注入,springboot自带的相关bean,可以将这部分bean看成是工具bean,这部分bean就是由@EnableAutoConfiguration负责加入到容器中。
5、SpringBoot的Starter
其实starter的核心就是一个POM文件,里面包含了必要的引入的Maven依赖
比如最常用的spring-boot-starter-web这个启动器:
包含了对:JSON,Tomcat,http,springmvc等等的依赖
.