@ImportResource与@Bean给容器中添加组件

本文介绍了在Spring中使用@ImportResource导入XML配置文件和使用@Bean注解在Java配置类中添加组件的方法。通过示例展示了两种方式的具体步骤,并提及了SpringBoot推荐使用@Bean的方式。此外,还提到了配置文件中如何使用占位符和随机数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【传统方法】@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
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值