Spring的@Bean注解使用

本文介绍Spring框架中的@Bean注解用途及使用方式。该注解使方法可以创建并返回一个由Spring管理的Bean对象,该对象将被放置在Spring的IOC容器中。文章还展示了如何通过@Bean注解来实现动态获取Bean对象,以及如何指定Bean对象的名称。

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

Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。
@Service
public class BeanTest {

@Bean
public   BeanTest  getBean(){
    BeanTest bean = new  BeanTest();
    System.out.println("调用方法:"+bean);
    return bean;
}

}

public class Main {
@SuppressWarnings(“unused”)
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(“application-context.xml”);

    Object bean1 = context.getBean("getBean");

    System.out.println(bean1);
    Object bean2 = context.getBean("getBean");
    System.out.println(bean2);
}

}

输出:
调用方法:Spring.BeanTest@5a4041cc
Spring.BeanTest@5a4041cc
Spring.BeanTest@5a4041cc

默认bean的名称就是其方法名。但是也可以指定名称:
@Service
public class BeanTest {

@Bean(name="BeanTest")
public   BeanTest  getBean(){
    BeanTest bean = new  BeanTest();
    System.out.println("调用方法:"+bean);
    return bean;
}

}
public class Main {
@SuppressWarnings(“unused”)
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(“application-context.xml”);

    Object bean1 = context.getBean("BeanTest");

    System.out.println(bean1);
    Object bean2 = context.getBean("BeanTest");
    System.out.println(bean2);
}

}

使用@Bean注解的好处就是能够动态获取一个Bean对象,能够根据环境不同得到不同的Bean对象。或者说将Spring和其他组件分离(其他组件不依赖Spring,但是又想Spring管理生成的bean)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值