分享人:许东杰
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
1.背景介绍
Spring Boot其设计目的是用来简化 Spring 应用的初始搭建开发以及部署过程。
springboot本质是对spring框架的再次封装,将原来的复杂的XML配置文件以及复杂的Bean依赖关系用JavaConfig配置类来进行替代
嵌入了Tomcat、jetty,可以直接启动web容器,集成了很多第三方技术
springboot中的装载bean或者加载配置的几种方式
1、用spring那个原来的xml配置文件
2、注解装载,主方法进行扫描
3、用配置类来加载配置,同时可以进行bean装载
springboot有关配置文件的注解:
@validated校验注解,放在类的上面,例如在类中的属性上加上@email,意思就是验证是否符合邮箱格式
@configurationProperties直接将主配置文件中的配置导入到类中
@value("")注入单个配置信息到属性上,单独使用
@propertysource(classpath:{})指定自己写的外部配置文件(区别于主配置文件),将数据注入进来
@importresource导入老版本的spring配置文件,让配置文件里面的内容生效,放到到主类上
springboot的依赖管理:
spring-boot-starter-parent是springboot的核心依赖,是所有依赖的父依赖,里面指定了很多依赖的版本,所以添加子依赖不需要写版本号
所有要添加的子依赖都以spring-boot-starter开头,子依赖中还有各自的子依赖
springboot 通过引用spring-boot-starter-web依赖,整合SpingMVC框架。只需要引用一个jar包,就可以通过Maven继承的方式引用到Spring-aop,Spring-beans,Spring-core,Spring-web等相关依赖
springboot的打war包方式
1、新加@ServletComponentScan注解,并且继承SpringBootServletInitializer。 2、打包方式改为war,spring-boot-starter-tomcat修改为 provided方式,以避免和独立 tomcat 容器的冲突. 表示provided 只在编译和测试的时候使用,打包的时候就没它了
springboot项目的创建整合打包部署运行?
springboot的统一日志管理实现方式
1、原因:因为spring默认日志接口是common-logging,很多整合框架用的日志都不一样,所以要进行统一管理
2、解决:springboot默认使用slf4j日志接口,增加了中间层,访问其他日志api最终都归到slf4j接口里面了
springboot的自动配置原理
1、@SpringBootApplication,主方法注解是一个符合注解,里面包含了自动配置的注解@EnableAutoConfiguration,SpringBoot 自动配置主要通过 @EnableAutoConfiguration, @Conditional, @EnableConfigurationProperties 或者 @ConfigurationProperties 等几个注解来进行自动配置完成的。 @EnableAutoConfiguration 开启自动配置,主要作用就是调用 Spring-Core 包里的 loadFactoryNames(),将 autoconfig 包里的已经写好的自动配置加载进来。 @Conditional 条件注解,通过判断类路径下有没有相应配置的 jar 包来确定是否加载和自动配置这个类。 @EnableConfigurationProperties 的作用就是,给自动配置提供具体的配置参数,只需要写在 application.properties 中,就可以通过映射写入配置类的 POJO 属性中。
百度、谷歌
感谢观看,如有出错,恳请指正
BY :许东杰