【传统方法】@ImportResource:导入Spring的配置文件,让配置文件里的内容生效;
想让Spring的配置文件生效,加载进来;@ImportResource标注在启动类上
1、创建一个HelloService空白类
2、resources下创建一个Spring写法的bean.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.liuliang3.liuliang3.serviec.HelloService"></bean>
</beans>
3、@ImportResource标注在一个配置类上
@ImportResource(locations = {"classpath:beans.xml"})
@SpringBootApplication
public class Liuliang3Application {
public static void main(String[] args) {
SpringApplication.run(Liuliang3Application.class, args);
}
}
4、写个配置类测试,该类是否添加成功
@Autowired
ApplicationContext ioc;
@Test
public void testHelloService(){
boolean isBean =ioc.containsBean("helloService");
System.out.println("容器中是否有helloService:"+isBean);
}
【SpringBoot推荐方法】
@Bean给容器中添加组件
1、创建一个HelloService空白类
2、创建配置类:
/**
* @Configuration:指明当前类是一个配置类,就是来替代之前的Spring配置文件
*/
@Configuration
public class MyAppConfig {
//将方法的返回值添加到容器中,容器中默认的id 就是方法名
@Bean
public HelloService helloService(){
System.out.println("配置类@Bean给容器中添加组件了");
return new HelloService();
}
}
3、写个配置类测试,该类是否添加成功
@Autowired
ApplicationContext ioc;
@Test
public void testHelloService(){
boolean isBean =ioc.containsBean("helloService");
System.out.println("容器中是否有helloService:"+isBean);
}
二、配置文件可以使用占位符和随机数
随机数
${random.value}、${random.int}、${random.long}
${random.int(10)}、${random.int[1.02,65536]}
person.lastName=张三${random.uuid}
person.age=${random.int}
person.birth=2017/12/15
person.boss=false
person.maps.k1=a1
person.maps.k2=a2
person.lists=a,b,c
person.dog.name=${person.lastName}_dog
person.dog.age=16