读取application.yaml文件配置信息出错

Blade 未结 3 1952
2405106050
2405106050 剑圣 2019-11-27 17:01

一、该问题的重现步骤是什么?

1. image.png

2. image.png

3.image.png


二、你期待的结果是什么?实际看到的又是什么?

服务启动出错

image.png

三、你正在使用的是什么产品,什么版本?在什么操作系统上?



四、请提供详细的错误堆栈信息,这很重要。



五、若有更多详细信息,请在下面提供。



3条回答
  • 2019-11-27 17:05

    和@AllArgsConstructor冲突了

    这种情况你应该使用@RequiredArgsConstructor

    然后在需要注入的类加上final修饰。不需要自动注入的不加final

    这样编译后,就只会针对加了final修饰的类进行注入,而不会对column变量(没加final)注入导致失败了

    BladeX-Biz的DemoController便是相当于使用了@RequiredArgsConstructor注解之后的真实代码,可以参考一下


    @RequestMapping("demo")

    public class DemoController {


       @Value("${demo.name}")

       private String name;


       private final INoticeService service;


       public DemoController(INoticeService service) {

          this.service = service;

       }

       ...

       

    }



    而使用@RequiredArgsConstructor的代码如下


    @RequestMapping("demo")

    @RequiredArgsConstructor

    public class DemoController {


       private final INoticeService service;

       

       @Value("${demo.name}")

       private String name;

       

       ....

       

    }

    1 讨论(0)
  • 2019-11-27 17:38

    image.png

    image.png

    还是报错

    0 讨论(1)
  • 2020-12-01 20:31

    跟作者的基本一致,需要补充一点(在网上搜的),


    @RequiredArgsConstructor注解需要补充完整


    如下:

    @RequiredArgsConstructor(onConstructor_ = @Autowired)


    0 讨论(0)
提交回复