У меня есть структура проекта, аналогичная указанной здесь: https://stackoverflow.com/a/29583882/1243462. У меня есть библиотека утилит, содержащая класс службы в одном JAR, предназначенная для использования из другой библиотеки Java / проекта Maven. Однако сам мой класс Service использует внедрение конструктора. Итак, где был исходный вопрос:
@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();
}
}
Но, поскольку внедрение поля не приветствуется, как правильно структурировать этот код?