之前代码是这样的,为了防止漏写(明明是故意没写好吗)@Autowired,用了@AllArgsConstructor
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("/api/see")
public class SmsController implements IService {
SeeService seeService;
SeeMapper seeMapper;
//巴拉巴拉......代码略
}
然后需要用到一个配置,我用@Value引用一下,变成这样。
每次启动服务都会报错,命名配置文件都写好了
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("/api/see")
public class SmsController implements IService {
SeeService seeService;
SeeMapper seeMapper;
@Value("${see.switch}")
private String seeSwitch;
//巴拉巴拉......代码略
}
报错信息:
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 2 of constructor in com.controller.SeeController 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注解惹的祸。
@Slf4j
@RestController
@RequestMapping("/api/sees")
public class SeeController implements IService {
@Autowired
private SeeService seeService;
@Autowired
private SeeMapper seeMapper;
@Value("${see.switch}")
private String seeSwitch;
}
改了之后,问题解决。