@PropertySource 使用指定的属性文件而不一定是application.xxx 同样可以注入相关内容 @ImportResource 导入Spring的配置文件,让配置文件里面的内容生效: Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别: 想让Spring的配置文件生效,加载进来:@ImportResource标注在一个配置类上 @Bean SpringBoot推荐给容器中添加组件的方式:推荐使用全注解的方式 package com.at…
这个需求应该也比较常见,在不同的条件下创建不同的bean,具体场景很多,能看到这篇的肯定懂我的意思. 倘若不了解spring4.X新加入的@Conditional注解的话,要实现不同条件创建不同的bean还是比较麻烦的,可能需要硬编码一些东西做if判断.那么现在有个@Conditional注解后,事情就简单多了.用法很简单,直接上代码. 新建一个springboot项目,添加一个Configuration标注的类,我们通过不同的条件表达式来创建bean.   package com.tianya…
@PropertySource:加载指定的配置文件 package com.hoje.springboot.bean; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.Enab…
1.普通方式装配类对象   (1)添加带有@Bean注解的方法  User.java(带@Component注解) package com.demo.boot.bootenable.beanDemo1; import org.springframework.stereotype.Component; @Component public class User { } User.java (2)需要装配的类添加@Component注解 Book.java(不带@Component注解) packag…
SpringBoot拦截器中无法注入bean的解决方法 在使用springboot的拦截器时,有时候希望在拦截器中注入bean方便使用 但是如果直接注入会发现无法注入而报空指针异常 解决方法: 在注册拦截器时,将拦截器注入为bean 代码: @Configuration public class InterceptorRegister extends WebMvcConfigurerAdapter { //以这种方式将拦截器注入为一个bean,可以防止拦截器中无法注入bean的问题出现 @Bea…
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'apiUserController': Unsatisfied dependency expressed through field 'api…
在使用springboo的时候,遇到一个问题,想在tool类中注入一个bean,一直失败,翻了下源码,是因为工具类的初始化方法为反射class调用newInstance方法,详见 http://www.cnblogs.com/xiaoQLu/p/7292971.html 那还有没有其他方法实现呢,请教了组内的大神,丢了如下一段代码我 @Configuration public class WebAppConfigTest extends WebMvcConfigurerAdapter { @Ov…
背景 同一个接口有多种实现,项目启动时按某种规则来选择性的启用其中一种实现,再具体一点,比如Controller初始化的时候,根据配置文件的指定的实现类前缀,来记载具体Service,不同Service使用不同的Dao和数据库. 看到这里,我们会想到使用SPI机制,或Spring按条件加载Bean机制来实现,下面主要讨论后者. 定义接口 定义2个Service层接口:OrderService.OrderPromotionService,分别有一个方法,如下: // OrderService.ja…
一.@PropertySource @PropertySource:加载指定的配置文件 @PropertySource(value = {"classpath:person.properties"}) @Component @ConfigurationProperties(prefix = "person") public class Person { } 二.@ImportResource:导入Spring的配置文件,让配置文件里面的内容生效 Spring Boo…
@Configuration 1.@Configuration注解底层是含有@Component ,所以@Configuration 具有和 @Component 的作用. 2.@Configuration注解相当于spring的xml配置文件中<beans>标签,里面可以配置bean. @Bean 1.@Bean注解相当于spring的xml配置文件<bean>标签,告诉容器注入一个bean. 2.@Bean注解的方法上如果没通过bean指定实例名,默认实例名与方法名相同. 3.…