我有一个类似于此处链接的项目结构:https : //stackoverflow.com/a/29583882/1243462。我在一个 JAR 中有一个包含 Service 类的util 库,旨在从另一个 Java 库/Maven 项目中使用。但是,我的 Service 类本身使用构造函数注入。所以,原来的问题有:@Servicepublic class PermissionsService { ... }我有@Servicepublic class PermissionsService { public PermissionsService(@Autowired PermissionsDao dao) { //assign private dao field to autowired dao }}而且,就像原来的帖子一样,我想创建一个实例PermissionsService并将其注入到我的客户端/消费者应用程序中。我不确定如何创建 Configuration 类。 @Configuration public class PersistenceConfig { public PermissionsService getPermissionsServiceBean() { //What goes here? }}现在,我有一个解决方法,我用@Autowired PermissionsDao字段注入替换构造函数参数,并使用无参数构造函数。这使我能够: @Configuration public class PersistenceConfig { public PermissionsService getPermissionsServiceBean() { return new PermissionsService(); }}但是,由于不鼓励字段注入,那么构建此代码的正确方法是什么?
1 回答
潇潇雨雨
TA贡献1833条经验 获得超4个赞
在你的主模块中
@Configuration
@Import(PersistenceConfig.class)
public class ServiceConfig() {
}
在您的 utils 模块中
@Configuration
@ComponentScan(basePackages = {"path-to-persistence-service-and-any-dependencies"})
public class PersistenceConfig {
}
PermissionsDao如果配置正确,使用构造函数注入的事实应该无关紧要。
添加回答
举报
0/150
提交
取消