@ImportResource:导入Spring的配置文件,让配置文件里面的内容生效;
Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;
想让Spring的配置文件生效,加载进来;@ImportResource标注在一个配置类上
-
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.atguigu.springboot.service.HelloService">
bean>
-
beans>
@ImportResource(locations = {"classpath:beans.xml"})
导入Spring的配置文件让其生效
-
@SpringBootApplication
-
@ImportResource(locations = {
"classpath:beans.xml"})
-
public
class App {
-
-
public static void main(String[] args) {
-
SpringApplication.run(App.class, args);
-
}
-
}
测试
-
@RunWith(SpringRunner.class)
-
@SpringBootTest
-
public
class YamlApplicationTests {
-
-
@Autowired
-
ApplicationContext applicationContext;
-
-
@Test
-
public void contextLoads() {
-
System.out.println(applicationContext.containsBean(
"HelloService"));
-
}
-
-
}
SpringBoot推荐给容器中添加组件的方式;推荐使用全注解的方式
1、配置类@Configuration------>Spring配置文件
2、使用@Bean给容器中添加组件
-
/**
-
* @Configuration:指明当前类是一个配置类;就是来替代之前的Spring配置文件
-
*
-
* 在配置文件中用
标签添加组件
-
*
-
*/
-
@Configuration
-
public
class MyAppConfig {
-
-
//将方法的返回值添加到容器中;容器中这个组件默认的id就是方法名
-
@Bean
-
public HelloService helloService02(){
-
System.out.println(
"配置类@Bean给容器中添加组件了...");
-
return
new HelloService();
-
}
-
}
启动项目容器中就会有id为helloService02的类了,@Configuration也是一个组件,你懂的噢
ok,简单明了的结束本编博客,希望看明白的可以点个赞,或者转发一下噢