springboot 实战
之前用过springboot,也看过springboot的使用经验,如今看起这本书来,速度飞快
一 . 第一个springboot
1. 起步依赖
传递依赖通过<exclusion>标签去除,
springboot会首先使用用户的依赖,如果冲突,按照maven就近原则,会使用用户依赖
2.自动配置
springboot的自动配置基于spring4的条件化配置
条件化配置就是Condition接口,该接口的的match方法
使用方法: @Conditional(Condition的子类.class),该注解加在类上,和其他注解配合来添加Bean
spring自带的Conditional注解: @ConditionalOnBean @ConditionalOnMissingBean 还可以 on:/class,Expression(SpEL),,Property,WebApplication,NotWebApplication
二. 自动配置详解
eg. springboot的security starter, security 默认的配置是 用户名是user,密码是在控制台输出的随机数字,
覆盖security的自动配置:
@EnableWebSecurity ,, 使用@EnableWebSecurity后 间接创建了一个WebSecurityConfiguration类,在通过ConditionalOnMissingBean跳过自动配置(@EnableWebMvc也是类似)
微调自动配置
1.通过外部配置文件,按照优先级:命令行参数>jvm属性>操作系统环境变量>随机生成的random.*属性的引用>程序外的application.yml>打包在程序里的application.yaml>@PropertySource注解的配置文件>默认属性
1.application.yml也有顺序,外置config目录>外置运行目录>内置config包>内置Classpath
2.继承各种adapter,可以覆盖默认的配置,也可以不覆盖
导入application.yml中的属性到类中, @ConfigurationProperty(prefix="julian"),private String string name; julian.name就会通过setter方法导入到name中
@PropertySource
多profile: 从spring3.1开始,支持profile
当@Profile("dev") 代表只有 spring.profile.active = dev时才会激活
application.yam-dev 代表只有在 dev 激活时 这个配置文件才有用
错误界面
springboot会自动的配置会查找名为error的视图,如果没有就是用默认的视图 eg. 如果使用thymeleaf 则为error.html在template目录下

浙公网安备 33010602011771号