目录
SPRINGBOOT
综述
- 功能
配置
参考资源
SpringBoot - 配置文件application.yml使用详解(附:Profile多环境配置)
配置方式
- java形式
- xml形式
- groovy形式
覆盖自动配置
条件化配置
- 原理
在运行时判断这个配置是该被运用还是该被忽略 - 优先级
应用级>自动配置类
实现机制
@ConditionalOnMissingBean注解
示例如下,如果没有jdbcope类型的bean才会返回
自动配置
- 方式
在classpath中添加pom中引入的依赖等
- 原理
覆盖配置
-
显示配置覆盖
-
属性精细化配置
属性文件外置配置
- 优先级
实用配置
-
禁用模板缓存
生产环境性能提升因为只对模板进行一次编译,但是开发环境无法看到实时变更。缓存属性一般默认为true
只改变一次
需要长时间变更
基本不会改变
-
配置嵌入式服务器
- 开启https服务
- 配置日志
- 一般使用:logback(spring自带),log4j
- log4j配置方式
- 注意
如果想要完全对日志进行配置,可以再classpath目录(src/main/resources)创建logback.xml文件
- 常用改动
日志级别;指定日志输出文件
springboot可以避免配置xml文件进行日志文件的详细配置
不适用springboot默认logback.xml文件名,可以进行如下配置
- 配置数据源
- datasource bean
- 属性配置数据库
通常不用指定驱动
- 应用程序bean的配置外置
- controller类加注解@ConfigurationProperties(prefix=“ama”)注解,声明属性名称,以及setter方法,说明该bean属性通过setter方法从配置属性值(前缀为ama)注入,
使用profile进行配置
- 综述
基于运行时激活的profile,会使用或者忽略不同的bean或者配置类 - 用法
在securityconfig类上添加@Profile(“production”)注解,这样就只有production激活的时候才能应用该配置,否则使用默认配置。
定制应用程序错误界面
- 自动配置名为error视图
security
测试
集成测试
- SpringJUnit4ClassRunner
一个junit类运行器,为junit测试加载spring应用程序上下文,并未测试类自动织入所需要的bean. - SpringApplicationConfiguration
加载spring上下文,日志,外部属性等
web测试
- 综述
没有启动servlet容器进行测试,而是mockmvc取代实际的servlet容器,测试较快。
- web集成测试注解
测试web安全
- 添加一些静态方法
- maven配置
- test方法需要应用security配置
测试运行中的应用程序
- 配置
测试类添加@WebIntegrationTest注解
MAVEN
特点
使用起步依赖
- 好处:
避免考虑依赖兼容适配关系等,需要什么依赖
只指定功能,让构建过程自己处理需要什么东西 - 指定基于功能的依赖
自动把所需的依赖传递进来
mvn dependency:tree 查看依赖树 - 覆盖起步依赖引入的传递依赖/添加未引入依赖
排除依赖如下
覆盖依赖如下:
配置细节
- 网络下载的springboot包用idea打开需要new => project from existiing source