Java 在初始化另一个Bean之前自动连接Bean
春季问题 我有两个关于春天的问题 如果我这样声明bean:Java 在初始化另一个Bean之前自动连接Bean,java,spring,spring-boot,Java,Spring,Spring Boot,春季问题 我有两个关于春天的问题 如果我这样声明bean: @Service public class Downloader { @Bean public String bean1() { return "bean1"; } } 然后,如果其他类将自动连接“bean1”,那么方法bean1将被调用几次?或者创建并重用一个bean1实例 第二个问题。如何自动连接其他bean,例如“bean2”,它是字符串“externalBean”,可用于构造bean1
@Service
public class Downloader {
@Bean
public String bean1() {
return "bean1";
}
}
然后,如果其他类将自动连接“bean1”,那么方法bean1将被调用几次?或者创建并重用一个bean1实例
第二个问题。如何自动连接其他bean,例如“bean2”,它是字符串“externalBean”,可用于构造bean1
@Service
public class Downloader {
@Autowire
private String bean2;
@Bean
public String bean1() {
return "bean1" + this.bean2;
}
}
目前我正在尝试自动连线这个bean2,但在bean1调用期间它是空的。是否有任何机制,我可以指定这个顺序。我不知道在Spring文档中查找此类信息的上下文是什么。使用的只是简单的
@Bean
注释将范围设置为标准单例,因此将只创建一个。根据文档,如果要更改,则需要显式添加另一个注释:
@作用域将bean的作用域从单例更改为指定的作用域
只需使用简单的
@Bean
注释即可将范围设置为标准单例,因此只创建一个。根据文档,如果要更改,则需要显式添加另一个注释:
@作用域将bean的作用域从单例更改为指定的作用域
然后,如果其他类将自动连接“bean1”,则方法bean1
会打几次电话吗?或者将创建一个bean1实例
再利用
只有一个bean1
实例,因为隐式作用域是Singleton(不存在@scope
注释)
第二个问题。如何自动连接其他bean,例如“bean2”,它是
字符串“externalBean”,可用于构造bean1
@Service
public class Downloader {
@Autowire
private String bean2;
@Bean
public String bean1() {
return "bean1" + this.bean2;
}
}
由于它是字符串
,因此可能需要@限定符
@Bean
@Qualifier("bean2")
public String bean2() {
return "bean2";
}
然后
然而,这也行得通。
Spring将能够查看Bean的名称,并将其与参数的名称进行比较
@Bean
public String bean2() {
return "bean2";
}
及
Spring根据Bean依赖项自动计算顺序 然后,如果其他类将自动连接“bean1”,则方法bean1 会打几次电话吗?或者将创建一个bean1实例 再利用 只有一个
bean1
实例,因为隐式作用域是Singleton(不存在@scope
注释)
第二个问题。如何自动连接其他bean,例如“bean2”,它是
字符串“externalBean”,可用于构造bean1
@Service
public class Downloader {
@Autowire
private String bean2;
@Bean
public String bean1() {
return "bean1" + this.bean2;
}
}
由于它是字符串
,因此可能需要@限定符
@Bean
@Qualifier("bean2")
public String bean2() {
return "bean2";
}
然后
然而,这也行得通。
Spring将能够查看Bean的名称,并将其与参数的名称进行比较
@Bean
public String bean2() {
return "bean2";
}
及
Spring根据Bean依赖项自动计算顺序。有关何时实例化新Bean的信息,请参阅签出。有关何时实例化新Bean的信息,请参阅签出。谢谢。这回答了我的问题。ęki!:)@MarcinKapusta范围注释与您的问题无关。您不需要它。它隐式地解释了@Bean行为库。这回答了我的问题。ęki!:)@MarcinKapusta范围注释与您的问题无关。您不需要它。它隐式地解释了@Bean行为