我一直在研究自动生成的JHipster monolith应用程序,引起我注意的是缺少注释的事实@Autowired / @Inject above
private static final UserRepository userRepository;
这怎么可能正常,但是当我尝试制作类似的东西时,它没有?
答案 0 :(得分:9)
jHipster使用构造函数注入。如果查看UserResource类,您将看到构造函数将userRepository作为其参数之一:
public UserResource(UserRepository userRepository) {
this.userRepository = userRepository;
}
您曾经必须将UserRepository标记为@Autowired才能使用构造函数注入:
public UserResource(@Autowired UserRepository userRepository) {
this.userRepository = userRepository;
}
但是从Spring 4.3开始,你不再需要注释了,如果构造函数的任何参数都是Spring bean,它们将自动由Spring自动装配。
请参阅:https://spring.io/blog/2016/03/04/core-container-refinements-in-spring-framework-4-3