正确使用@Bean注释方法

时间:2016-05-12 13:27:31

标签: java spring

@Bean注释用于为应用程序上下文创建bean,我们可以将逻辑放在其中以创建对象。 但是我们可以在我们的代码中手动调用此方法,其中创建的bean的引用不是自动装配的吗? 我可以称这种方法,但这是一个好习惯吗?如果我正在调用它,那么这并不意味着我没有正确设计我的类依赖吗?

有人可以就此分享他们的想法吗?

谢谢,

阿玛尔

2 个答案:

答案 0 :(得分:0)

您总是有两种选择:

  1. 基于注释
  2. 基于XML
  3. 如果因任何原因不想使用@Autowired注释,您可以使用ctx.getBean()。

    ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
    ctx.getBean("beanName");
    

    你可以阅读关于这场冬青战争here

答案 1 :(得分:-1)

@Bean注释创建一个spring托管bean。要掌握它,请使用@Autowired。

如果你需要在某个地方访问该对象而无法自动装配它,那么通常你应该考虑重新设计你的代码。

但如果你坚持,你要么必须手动创建对象,要么以编程方式从应用程序上下文中获取它。

这样的事情应该有效:

ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
ctx.getBean("someName");