spring boot @propertySource @importResource @Bean [六]

Posted 你永远想象不到,一个光鲜亮丽的Application,有多么

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot @propertySource @importResource @Bean [六]相关的知识,希望对你有一定的参考价值。

@propertySource

指定property的配置源。

创建一个person.property:

然后修改person注解;

在运行test之后,结果为:

@importResource

这个importResource是用来兼容spring的。

HelloService:

package com.axm.demo.service;
public class HelloService {
    public  HelloService(){

    }
}

beans.xml:

<?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.axm.demo.service.HelloService"></bean>
</beans>

然后注入:

@SpringBootApplication
@ImportResource(locations = {"classpath:beans.xml"}) //关键
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

测试:

@Test
void contextLoads() {
    boolean has=ioc.containsBean("helloService");
    System.out.println(has);
}

结果:

然后再spring boot 有新的方式去注入服务:

添加一个配置文件:

@Configuration
public class MyApplication {
    @Bean
    public HelloService helloService(){
        return  new HelloService();
    }
}

然后就会自动注入这个HelloService 服务。

以上是关于spring boot @propertySource @importResource @Bean [六]的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Spring Boot 应用程序 pom 同时需要 spring-boot-starter-parent 和 spring-boot-starter-web?

《02.Spring Boot连载:Spring Boot实战.Spring Boot核心原理剖析》

spring-boot-quartz, 依赖spring-boot-parent

spring-boot系列:初试spring-boot

Spring-Boot Banner

Spring Boot:Spring Boot启动原理分析