Java @Bean注释方法的正确使用
Java @Bean注释方法的正确使用,java,spring,Java,Spring,@Bean注释用于为应用程序上下文创建Bean,我们可以将逻辑放入其中以创建对象。 但是我们可以在代码中的某个地方手动调用这个方法吗?在这个地方,正在创建的bean的引用不是自动连接的??? 我可以称之为这种方法,但这是一种好的做法吗?如果我调用它,那么这不意味着我没有正确地设计我的类依赖关系吗 有人能分享一下他们的想法吗 谢谢 Amar@Bean注释创建一个spring管理的Bean。要获得它,请使用@Autowired 如果您需要访问某个对象,您不能自动访问它,那么通常应考虑重新设计代码。
@Bean
注释用于为应用程序上下文创建Bean,我们可以将逻辑放入其中以创建对象。
但是我们可以在代码中的某个地方手动调用这个方法吗?在这个地方,正在创建的bean的引用不是自动连接的???
我可以称之为这种方法,但这是一种好的做法吗?如果我调用它,那么这不意味着我没有正确地设计我的类依赖关系吗
有人能分享一下他们的想法吗
谢谢
Amar@Bean注释创建一个spring管理的Bean。要获得它,请使用@Autowired
如果您需要访问某个对象,您不能自动访问它,那么通常应考虑重新设计代码。
但是如果您坚持,您将不得不手动创建对象,或者通过编程从应用程序上下文获取对象 像这样的方法应该会奏效:ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
ctx.getBean("someName");
您始终有两种选择:
您可以阅读关于这场holly war的文章您是否在询问如何在xml或java配置之外创建spring管理的bean?不要从其他对象调用
@bean
带注释的方法,然后调用@Configuration
类…@RC。是的,假设我正在调用一个方法。在这个方法中,我需要那个bean,我可以在那里调用这个方法吗?@M.Deinum“@Configuration”也可以用于方法,对吗??我创造@Bean@Configurationpublic beanname(){return new…;}。我不太确定我写的是否正确不,这不是好的做法。与其手动调用@Bean
方法,不如更改代码,以便您可以在需要的任何地方访问ApplicationContext
,然后在ApplicationContext
中查找Bean,或者更好,让Spring注入它。
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
ctx.getBean("beanName");