2016-05-12 79 views
0

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

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

感谢,

阿马尔

+0

你问如何创建Spring管理豆之外XML或Java配置? – 2016-05-12 13:30:25

+1

不要调用'@ Bean'注释的方法,然后从'@ Configuration'类中调用... –

+0

@RC。是的,可以说我正在调用一种方法。在那个方法里面,我需要那个bean,我可以在那里调用这个方法吗? –

回答

-1

@Bean注释创建Spring管理的bean。要获得它的使用@Autowired。

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

但是,如果您坚持,您将不得不手动创建对象,或以编程方式从应用程序上下文中获取它。

像这样的东西应该工作:

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

你总是有两种选择:

  1. 基于注解
  2. 基于XML的

如果您以任何理由唐不想使用@Autowired注释,你可以g把你的手放在ctx.getBean()上。

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

您可以了解这个冬青战争here

相关问题