基于@AllArgsConstructor与@Value共用的问题解决

网友投稿 1235 2022-12-05

基于@AllArgsConstructor与@Value共用的问题解决

基于@AllArgsConstructor与@Value共用的问题解决

目录@AllArgsConstructor与@Value共用的问题解决看下面这段代码如何解决这个问题呢?@AllArgsConstructor导致@value注入失败解决方法

@AllArgsConstructor与@Value共用的问题解决

平时我们用lombok的方式来实现Bean的构造函数方式的注入,但是当遇到@Value注解的时候,就会出现问题,

看下面这段代码

/**

* @author sunhan

*/

@RestController

@AllArgsConstructor

@RequestMAPPing("test")

public class TestController {

@Value("${test}")

private String test;

private TestService testService;

@GetMapping()

public String get() {

System.out.println(test);

return testService.get();

}

}

启动项目的时候,会抛出异常

***************************

APPLICATION FAILED TO START

***************************

Description:

Parameter 0 of constructor in com.good.base.controller.TestController required a bean of type 'java.lang.String' that could not be found.

Action:

Consider defining a bean of type 'java.lang.String' in your configuration.

如何解决这个问题呢?

其实很简单,将AllArgsConstructor改成RequiredArgsConstructor,然后把需要注入的bean改成final类型的,就可以了

@RestController

@RecmdkCvKtfkquiredArgsConstructor

@RequestMapping("test")

public class TestController {

@Value("${test}")

private String test;

private final TestService testService;

@GetMapping()

public String get() {

System.out.println(test);

return testService.get();

}

}

参考:这里

@AllArgsConstructor导致@value注入失败

@AllArgsConstructor

@RestController

@RequestMapping("xx/xx" )

public class WxUserController extends BaseController {

private final WxUserService service;

private final PointsDetailService pointsDetailService;

private final WxUserPointsService wxUserPointsService;

@Value("${points.registerPoints}")

private int registerPoints;

................................

}

直接项目启动失败,报错如下:

解决方法

本人是去掉@AllArgsConstruchttp://tor,使用@autowired进行注入,应该还有别的方法可以解决这个冲突,我没有试

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何使用@AllArgsConstructor和final 代替 @Autowired
下一篇:mybatisPlus自动填充更新时间的示例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~