1.监听器

参考:https://blog.csdn.net/jjkang_/article/details/88548120
监听器的应用属于观察者模式
自定义一个监听的过程如下:

  1. //定义一个被监听的时事件:
  2. public class StudentAddEvent extends ApplicationEvent
  3. {
  4. ...
  5. }
  6. //定义监听该事件的监听器
  7. @Component
  8. public class StudentAddListener implements ApplicationListener<StudentAddEvent> {
  9. @Override
  10. public void onApplicationEvent(StudentAddEvent studentAddEvent) {
  11. String info = studentAddEvent.getInfo();
  12. System.out.println("增加的学生信息:" + info);
  13. }
  14. }
  15. //发布一个事件给监听器
  16. @Autowired
  17. private ApplicationContext context;
  18. public void getEvent(){
  19. context.publishEvent(new Myevent());
  20. }

2.Spring中的监听器

ContextLoaderListener:

  1. public class ContextLoaderListener extends ContextLoader implements ServletContextListener
  2. //实现了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等等的依赖
.