【总结】Spring Boot、Spring、SpringMVC

  1. @EnableAutoConfiguration: 该注解由组合注解@SpringBootApplication引入,完成自动配置开启.扫描各个jar包下的spring.factories文件,并加载文件中注册的AutoConfiguration类等。
  2. spring.factories: 配置文件,位于jar包的META-INF目录下,按照指定各式注册了AutoConfiguration类。spring. factories也可以包含其他类型待注册的类。该配置文件不仅存在于Spring Boot项目中,也可以存在于自定义的自动配置(或Starter) 项目中。
  3. AutoConfiguration类: 自动配置类,代表了Spring Boot中-类以*AutoConfiguration命 名的自动配置类。
    其中定义了三方组件集成Spring所需初始化的Bean和条件。
  4. @Conditional: 条件注解及其衍生注解,在AutoConfiguration类 上使用,当满足该条件注解时才会实例
    化AutoConfiguration类。
  5. Starters: 三方组件的依赖及配置,Spring Boot已经预置的组件。Spring Boot默认的Starters项目往往只
    包含了一-个pom依赖的项目。如果是自定义的starter,该项目还需包含spring factories文件、AutoConfiguration类和其他配置类。

@EnableAutoConfiguration

@EnableAutoConfiguration的主 要功能是启动Spring应用程序上下文时进行自动配置,它会尝试猜测并配置项目可能需要的Bean。自动配置通常是基于项目classpath中引入的类和已定义的Bean来实现的。在此过程中,被自动配置的组件来自项目自身和项目依赖的jar包中。

举例:若将tomcat- embedded.jar添加到classpath下,则@EnableAutoConfiguration会认为你准 备使用TomcatServletWebServerFactory类,帮你初始化相关配置。同时,若自定义了基于ServletWebServerFactory的Bean,则@EnableAutoConfiguration将不会 进行TomcatServletWebServerFactory类的初始化。这一系列的操作判断都由Spring Boot来完成。

一层层跳找核心点,去找配置文件,加载自动配置类

IoC容器的初始化

利用FactoryBean装载一个特殊的对象,在写代码的时候这个类是别人设计的,没有加注解,还想让它加载到容器里:

记日志,各处调用的都有,如果记日志的方法变了,那改动这些代码,工程量巨大。

单独把这些逻辑抽取出来,单独去实现。

方面:分散代码中的业务逻辑的关注点,将关注点抽取出来封装一下

把之前在分散地方的零碎的代码挪到了统一的地方去实现,就叫方面编程

例如程序中的每个service都是Target,在service中以find方法开头的为连接点,(在100个方法里面有1000个以find方法开头的,这1000个连接点上都要记日志,分四步解决)

1、创建一个类(方面),同意解决问题 @Aspect注解修饰的类

2、定义一个方法,在方法上使用PonitCut修饰,规定哪些类的哪些方法需要附加这个逻辑

3、在方法中的那个位置去解决问题呢,在写方法声明before。。。。

以上做完后,这个类自动生效。为什么特定的时机,这个逻辑会被织入到方法对应的位置去

4、织入(运行时织入,生成代理对象)

JDK的动态代理

代理对象也要放到工厂里面去 FeactoryBean

三. Spring MVC

3.1主要流程

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92123 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年9月15日
下一篇 2021年9月15日

相关推荐