一、该问题的重现步骤是什么?
1.
2.
3.
二、你期待的结果是什么?实际看到的又是什么?
服务启动出错
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
和@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;
....
}
还是报错
跟作者的基本一致,需要补充一点(在网上搜的),
@RequiredArgsConstructor注解需要补充完整
如下:
@RequiredArgsConstructor(onConstructor_ = @Autowired)
扫一扫访问 Blade技术社区 移动端