我一直在研究自动生成的JHipster整体应用程序,而引起我注意的是上面缺少注释@ Autowired/@ Inject的事实
private static final UserRepository userRepository;
这怎么可能正常工作,但是当我尝试做类似的事情却没有呢?
最佳答案
jHipster利用构造函数注入(inject)。如果查看UserResource类,您将看到构造函数将userRepository作为其参数之一:
public UserResource(UserRepository userRepository) {
this.userRepository = userRepository;
}
您以前必须将UserRepository标记为@Autowired才能使用构造函数注入(inject):
public UserResource(@Autowired UserRepository userRepository) {
this.userRepository = userRepository;
}
但是从Spring 4.3开始,您不再需要注释,并且如果构造函数的任何参数是Spring Bean,它们将由Spring自动进行 Autowiring 。
另请:https://spring.io/blog/2016/03/04/core-container-refinements-in-spring-framework-4-3
关于java - JHipster-隐藏@Autowired/@Inject,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45510912/