У меня есть структура проекта, похожая на ту, что связана здесь: https://stackoverflow.com/a/29583882/1243462.У меня есть util library , содержащая класс Service в одном JAR, предназначенном для использования из другой библиотеки Java / проекта Maven.Однако сам мой класс Service использует конструктор Injection.Итак, где исходный вопрос имел:
@Service
public class PermissionsService { ... }
У меня есть
@Service
public class PermissionsService {
public PermissionsService(@Autowired PermissionsDao dao) {
//assign private dao field to autowired dao
}
}
И, как и в оригинальном сообщении, я хочу создать экземпляр PermissionsService
и вставить его в мойклиент / потребительское приложение.Я не уверен, как создать класс конфигурации.
@Configuration
public class PersistenceConfig {
public PermissionsService getPermissionsServiceBean() {
//What goes here?
}
}
Пока у меня есть обходной путь, когда я заменил аргумент конструктора @Autowired PermissionsDao
на инъекцию поля и конструктор без аргументов,Это позволяет мне:
@Configuration
public class PersistenceConfig {
public PermissionsService getPermissionsServiceBean() {
return new PermissionsService();
}
}
Но, поскольку внедрение в поле не рекомендуется, как правильно структурировать этот код?