自定义yaml属性在服务类中不可用

米乔里佐(Micho Rizo)

我的application.yaml:

spring:
  profiles: test
mysvc:  
   server: https://myserver.com
   user: john123
   passwd: pass123!

我的application.java类:

@SpringBootApplication
@EnableConfigurationProperties
public class Application implements CommandLineRunner {

    @Autowired
    MySvcProps mySvcProps;

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);

    }
      @Override
        public void run(String... args) {
            System.out.println(mySvcProps.getServer());
        }
}

我的属性类:

@Component
@ConfigurationProperties(prefix="mysvc")
public class MySvcProps{

    private String server;
    private String user;
    private String passwd;

    // setters/getters
}

我的服务等级:

@Service
public class MySvc {
        @Autowired
        MySvcProps mySvcProps;

public void printServer() {
    System.out.println(mySvcProps.getServer());
}

在Application类中,没问题,我可以访问mySvcProps中的方法并获取值。但是在MySvc类中,mySvcProps为空。

所有类共享相同的基本程序包名称,为什么自动装配在MySvc类中不起作用?

米乔里佐(Micho Rizo)

我只能按照以下文档使其工作:https : //docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external -config-yaml

使用从调用方接受自动装配的mySvcProps的构造函数更新我的服务:

    @Service
    public class MySvc {

    private final MySvcProps mySvcProps;

        @Autowired
        public MySvc (MySvcProps mySvcProps) {
            this.mySvcProps= mySvcProps;
        }

        public void printServer() {
            System.out.println(mySvcProps.getServer());
        }
    }

不知道为什么会这样工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

自定义UserManager在OAuthAuthorizationServerProvider中不可用

发送自定义IQ时来自服务器的服务不可用响应

如何添加自定义“网页不可用”

Openshift自定义环境变量在Python中不可用

Serverless provider.environment 变量在自定义中不可用

全局对象在自定义模块中不可用,即使传入并请求也是如此

放入流后,我在node-red中的自定义节点不可用

模型不可用于ViewSettingsCustomItem中的自定义控件

服务返回的对象的属性不可用

当“显示设置”中的分辨率不可用时,如何使用xrandr设置自定义分辨率

解决方案标签在“自定义”下的“设置”标签中不可用,无法上传示例html文件

Spring Security 自定义登录表单重定向到资源不可用

禁用用户登录后,向“此帐户当前不可用”的自定义消息

绑定到活动时,“自定义快速设置”图块仍处于不可用状态

如何将网页不可用页面替换为自定义页面?(网络视图)

Groovy 类在 gradle 中不可用

PWP类在UWP中不可用

使用itext将html转换为pdf时,自定义字体在Windows中有效,但在Ubuntu中不可用

自定义Python版本中的zip支持出现问题:zipimport.ZipImportError:无法解压缩数据;zlib不可用

为什么非静态类的静态属性在剃刀视图 MVC 中不可用

自定义Google助手突然在设备上不可用,但在键入提示时有效

无法在自定义的AOSP上从Google Play安装某些应用:该项目不可用。原因:9

Boost Beast:当内容长度不可用时,如何使用自定义主体产生非块状响应?

clang:AST中不可见的自定义属性

结构属性不可用

CSS属性不可用

在 Python 中从 YAML 创建自定义类的对象

AAR文件中的类在Android Studio中不可用

在匿名类中定义自定义函数/属性