为什么application.properties可以在restcontroller中工作,而不能在服务类中工作?
//application.properties
test=test
工作完美!
@RestController
public class invitecontroller {
@Autowired inviteconfig inviteconfig;
@PostMapping("/v1/invite")
public void invite(@RequestBody XXX XXX) {
System.out.println(inviteconfig);
}
}
返回“null”
@Service
public class inviteservice {
@Autowired inviteconfig inviteconfig;
public void invite() {
System.out.println(inviteconfig);
}
}
@Configuration
@Data
public class inviteconfig {
private String test;
}
2条答案
按热度按时间edqdpe6u1#
这个
inviteservice
类没有为spring ioc(控制反转)配置为bean,因此spring不会处理inviteservice
类生命周期。在这种情况下,@Autowired
是没用的。要解决此问题,请尝试添加
@Component
注解到invitesevice
,将其声明为组件:对于控制器
@RestController
,spring会将类识别为spring组件。最后,别忘了注射
inviteservice
使用spring ioc(使用@Autowired
注解或其他方式)jmp7cifd2#
inviteservice类应该用@component或@service注解