配置如何编写 yaml
自动装配原理
集成Web开发
集成数据库Druid
分布式开发:Dubbo(RPC)+zookeeper
swagger:接口文档
任务调度
SpringSecurity : Shiro
自动装填原理
pom.xml
核心依赖在父工程中:<artifactId>spring-boot-dependencies</artifactId>
我们在写或者引入一下SpringBoot依赖的时候,不需要指定版本,就因为有这些版本仓库
启动器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
Springboot的启动环境
例如:spring-boot-starter-web,它就会帮我们自动导入web环境的所有依赖
Springboot会将所有的功能,都变成一个个的启动器
如果要是有什么功能,只需找到对应的启动器即可
spring-boot-starter:核心模块,包括自动配置支持、日志和YAML;
spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito;
@RestController的意思就是controller里面的方法都以json格式输出;
META-INF/spring.factories自动配置的核心文件
结论:springboot所有的自动配置都是在启动的时候扫描并加载spring.factories所有的自动配置类都在这个里面,但是不一定生效要判断条件是否成立,只要导入了对应的start就有对应的启动器,有了启动器,自动装配就会生效,然后配置成功
步骤:
1.springboot在启动的时候,从类路径下/META-INF/spring.factories获取指定的值
2.将这些自动导入配置的类导入容器,自动配置就会生效,帮我进行自动配置
3.一起我们需要自动配置的东西,现在springboot帮我们做了
4.整合JavaEE,解决方案和自动配置的东西都在spring-boot-autoconfigure-2.3.5.RELEASE.jar这个包下面
5.它会把所有需要导入的组件,以类名的方式返回,这些组件就会添加到容器;
6.容器中也会存在非常多的xxxAutoConfiguration的文件(@Bean),就是这些类给容器中导入了这个场景需要的所有组件