为了账号安全,请及时绑定邮箱和手机立即绑定

Spring - 将@Bean添加到没有名称属性的字符串

Spring - 将@Bean添加到没有名称属性的字符串

临摹微笑 2024-01-05 10:12:17
在String上添加@Bean是有原因的您必须命名该 bean,然后在自动装配引用该名称时使用 @Qualifier 注释。但在下面的代码中,没有 name 属性@Configuration@PropertySource(value = { "classpath:my.properties" })public class MyEnvironment {    @Value("${MY_NAME}")            String MY_NAME;    @Value("${MY_NAME2}")           String MY_NAME2;    @Bean    public String getMyName() {        return MY_NAME;    }    @Bean    public String getMyName2() {        return MY_NAME2;    }}它的调用方法如下:myEnvironment.getMyName();在这种情况下不是@Bean多余的/不相关的吗?这个约定也会引起问题吗?还是有隐藏的好处?
查看完整描述

1 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

考虑到Spring的意图是注入依赖,@Bean在这种情况下肯定是多余的。

由于大多数类仅使用(或者您可能会说 - 依赖)配置对象myEnvironmentMyEnvironment因此,将类作为一个单元注入到依赖它的类(而不是单个对象)中更有意义String

不过,这取决于您如何设计类及其依赖项。例如,您还可以直接在这些类上使用,将这两个字符串值注入到需要它的类中,而根本@Value不需要该类。MyEnvironment


查看完整回答
反对 回复 2024-01-05
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信