官方提供的常用条件注解 因为Spring的核心是基于bean的,所以这些条件注解主要是影响bean的注册. 因为注册的bean不同了,最后对外呈现的行为就不同了.不就是自动配置了. 一.最常用的应该是@Profile注解了 根据不同的环境可以注册不同的bean,如下图01: 首先,不激活任何环境,执行一下,结果如下图02:   可以看到,没有激活任何环境,所以默认是default.因此Default类就被注册了. 然后,激活一下prod环境,在IDE里设置一下,如下图03:   再次运行一下,结…
自动配置隐含两层含义,要搞清楚 上帝让程序员的发量减少,是为了让他变得更聪明,如果有一天聪明到了极点,那就是绝顶聪明. 据说在大脑高速运转下,这样更有利于散热,不至于核心温度过高而产生告警. 聪明的大脑是用来思考的,现在就来深入思考和分析下自动配置. 自动配置包含两层意思,一个是配置,一个是自动.这不废话嘛. 配置存在的一个前提是,要有选择才行,如果没得选择,就不用谈配置了. 比如十几年前读大学时,无论是回家还是去学校,都只能坐最便宜的硬座.因为没得选择. 现在情况就不一样了,高铁.动车.飞机都…
同步代码写起来简单,但就是怕遇到耗时操作,会影响效率和吞吐量. 此时异步代码才是王者,但涉及多线程和线程池,以及异步结果的获取,写起来颇为麻烦. 不过在遇到SpringBoot异步任务时,这个问题就不存在了.因为Spring家族是最替用户考虑的. 结果就是,像同步一样简单,像异步一样强大. 众所熟悉的同步代码 先准备一些代码,为了模拟耗时操作,在其中加入线程睡眠语句. 同时打印出运行这些代码的线程信息.如下图01: 其中一个是没有返回值的,一个是有返回值的. 然后把它注入到另一个类里进行调用,在…
springboot用@Autowired和@PostConstruct注解把config配置读取到bean变成静态方法 @SpringBootApplication public class SendEmailApplication implements CommandLineRunner{ public static Configs conf; @Autowired private Configs conf2; @PostConstruct public void initconf() {…
注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 关于配置文件可以配置的内容,在 Spring Boot 官方网站已经提供了完整了配置示例和解释. 可以这么说,Spring Boot 的一大精髓就是自动配置,为开发省去了大量的配置时间,可以更快的融入业务逻辑的开发,那么自动配置是怎么实现的呢? 1. @SpringBootApplication 跟着 Spring Boot 的启动类的注解…
SpringBoot源码学习系列之异常处理自动配置 1.源码学习 先给个SpringBoot中的异常例子,假如访问一个错误链接,让其返回404页面 在浏览器访问: 而在其它的客户端软件,比如postman软件: 很显然,在浏览器里访问才会返回页面,而在Postman直接返回json数据了,所以基于此现象,可以跟一下Springboot异常自动配置的原理,本博客基于学习了尚硅谷课程之后,自己动手实践再做的笔录 SpringBoot的异常自动配置类是ErrorMvcAutoConfiguration…
一.SpringBoot常用注解二.SpringBoot自动配置机制SpringBoot版本:1.5.13.RELEASE 对应官方文档链接:https://docs.spring.io/spring-boot/docs/1.5.13.RELEASE/reference/htmlsingle/ 一.SpringBoot常用注解  在上一篇文章中https://blog.csdn.net/zhichao_qzc/article/details/80642111引用了官方文档的入门例子,这个例子中只…
EmbeddedServletContainerAutoConfiguration:嵌入式的Servlet容器自动配置 @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) @Configuration @ConditionalOnWebApplication @Import(BeanPostProcessorsRegistrar.class) //导入BeanPostProcessorsRegistrar:Spring注解版:给容器中导入一些组件 //…
目录 1.ContentNegotiatingViewResolver 2.静态资源 3.自动注册 Converter, GenericConverter, and Formatter beans. 4.支持HttpMessageConverters 5.支持MessageCodesResolver 6.首页支持 7.网站logo设置 8.ConfigurableWebBindingInitializer 初始绑定器 源码学习系列之WebMvc自动配置原理笔记 @ web的自动配置在Spring…
目录 1.spring.messages.cache-duration 2.LocaleResolver 的方法名必须为localeResolver 3.默认LocaleResolver 4.指定默认的locale 5.localeChangeInterceptor指定传参 @ MessageSourceAutoConfiguration是国际化语言i18n的自动配置类 MessageSourceAutoConfiguration.ResourceBundleCondition 源码: prot…