繁体   English   中英

正确使用@Bean带注释的方法

[英]Correct use of the @Bean annotated method

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

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

谢谢,

阿玛

您总是有两个选择:

  1. 基于注释
  2. 基于XML

如果出于任何原因不想使用@Autowired注释,可以使用ctx.getBean()。

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

您可以在此处阅读有关这场冬青之战的信息

@Bean批注创建一个spring托管的bean。 要使用它,请使用@Autowired。

如果需要访问无法自动连线的对象,则通常应考虑重新设计代码。

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

这样的事情应该起作用:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM