Java 在SpringBoot中,是否可以在不使用SpringBean的情况下获取属性?
我有一个Configuration.class,它从Java 在SpringBoot中,是否可以在不使用SpringBean的情况下获取属性?,java,spring,spring-boot,Java,Spring,Spring Boot,我有一个Configuration.class,它从application.properties获取属性 @Component public class Configuration { @Value("${someValue}") public String someValue; } 我有另一个名为Fetcher的类,它需要属性 class Fetcher { @Autowired private Configuration configuration;
application.properties
获取属性
@Component
public class Configuration {
@Value("${someValue}")
public String someValue;
}
我有另一个名为Fetcher
的类,它需要属性
class Fetcher {
@Autowired
private Configuration configuration;
public void doSomethingWithSomeValue() {
System.out.println(configuration.someValue);
}
}
当然,上面的代码会失败,因为Fetcher
不是Springbean(我没有向它添加@Component
/@Service
/@Repository
)。我的问题是,是否有可能在Fetcher
中获取someValue
,而不使其成为Springbean?否和是
不,因为这就是Spring和依赖注入的全部思想。您必须使用能够访问Spring ApplicationContext的东西
是的,因为您可以使用publish–subscribe模式,或者您可以将一些上下文感知bean设置为单例,并让它们公开所有必要的属性。但它只是对对象的委托,对象可以访问Spring上下文。打个比方:这不是犯罪,它只是卖武器,把钱给一个会开枪的人:)不,是的
不,因为这就是Spring和依赖注入的全部思想。您必须使用能够访问Spring ApplicationContext的东西
是的,因为您可以使用publish–subscribe模式,或者您可以将一些上下文感知bean设置为单例,并让它们公开所有必要的属性。但它只是对对象的委托,对象可以访问Spring上下文。打个比方:这不是犯罪,它只是卖武器,把钱给一个会实弹的人:)也许,把配置文件读入地图,然后从地图上取出来?看一看,也许,把配置文件读入地图,然后从地图上取出来?看一看,然后