JHipster - 隐藏@Autowired / @Inject

时间:2017-08-04 15:47:41

标签: java spring dependency-injection jhipster

我一直在研究自动生成的JHipster monolith应用程序,引起我注意的是缺少注释的事实@Autowired / @Inject above

private static final UserRepository userRepository;

这怎么可能正常,但是当我尝试制作类似的东西时,它没有?

1 个答案:

答案 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