@Bean
注释用于为应用程序上下文创建bean,我们可以将逻辑放在其中以创建对象。
但是我们可以在我们的代码中手动调用此方法,其中创建的bean的引用不是自动装配的吗?
我可以称这种方法,但这是一个好习惯吗?如果我正在调用它,那么这并不意味着我没有正确设计我的类依赖吗?
有人可以就此分享他们的想法吗?
谢谢,
阿玛尔
答案 0 :(得分:0)
您总是有两种选择:
如果因任何原因不想使用@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");