美文网首页
@Propertysource 、@ImportResource

@Propertysource 、@ImportResource

作者: 桑鱼nicoo | 来源:发表于2020-02-20 09:16 被阅读0次

@CongigurationProperties与@Propertysource结合读取指定配置文件(只能用于properties文件)

@PropertySource(value = {"classpath:person.properties"})
@Component
@ConfigurationProperties(prefix = "person")
@Validated // 添加JSR-303 javax.validation约束注解
public class Person {

    //    @Value("${person.last-name}") // 从配置文件获取
    @Email // lastName必须是邮箱格式
    private String lastName;
    @Value("#{11*2}") // 直接计算 spEL表达式
    private Integer age;
    @Value("true") // 字面量
    private Boolean boss;
    private Date birth;

    private Map<String, Object> maps;
    private List<Object> lists;
    private Dog dog;
}

@ImportResource 导入Spring的配置文件,让配置文件里面的内容生效
SpringBoot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;通过将@ImportResource标注在一个配置类上,让Spring的配置文件生效

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="helloService" class="com.sangyu.springboot.service.HelloService"></bean>
</beans>
/**
 * Spring 单元测试
 * 可以在测试期间很方便类似编码一样进行自动注入容器等
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class MySpringBoot01ApplicationTests {
    @Autowired
    Person person;
    @Autowired
    ApplicationContext ioc;
    @Test
    public void contextLoads() {
        System.out.println(person);
    }
    @Test
    public void testHelloService(){
        boolean b = ioc.containsBean("helloService");
        System.out.println("====");

        System.out.println(b);
    }
}
@ImportResource(locations = {"classpath:beans.xml"})
@SpringBootApplication
class MySpringBoot01Application {

    public static void main(String[] args) {
        SpringApplication.run(MySpringBoot01Application.class, args);
    }
}
public class HelloService {
}

相关文章

网友评论

      本文标题:@Propertysource 、@ImportResource

      本文链接:https://www.haomeiwen.com/subject/qdxjfhtx.html