Я пытаюсь использовать jOOQ в своем приложении Micronaut, и мне автоматически предоставляется jOOQ DSLContext как внедренный компонент в мой конструктор, но он не может найти компонент.
Я настроил свойисточники данных в моем application.yml для подключения к моей базе данных postgres, и я объявил мой конструктор следующим образом:
@Singleton
public class RepositoryImpl implements Repository
{
private final DSLContext context;
public RepositoryImpl(DSLContext context)
{
this.context = context;
}
}
и мой application.yml как:
datasources:
default:
url: "jdbc:postgresql://localhost:5432/my_db"
username: "user"
password: "password"
driver-class-name: "org.postgresql.Driver"
Я включилследующие зависимости в моем build.gradle
compile 'io.micronaut.configuration:micronaut-jooq'
runtime 'org.postgresql:postgresql:42.2.4'
Я ожидаю, что смогу получить доступ к DSLContext и писать запросы в своем классе RepositoryImpl, но при попытке использовать класс реализации код завершится неудачей со следующим исключением:
Caused by: io.micronaut.context.exceptions.NoSuchBeanException: No bean of type [org.jooq.DSLContext] exists. Make sure the bean is not disabled by bean requirements (enable trace logging for 'io.micronaut.context.condition' to check) and if the bean is enabled then ensure the class is declared a bean and annotation processing is enabled (for Java and Kotlin the 'micronaut-inject-java' dependency should be configured as an annotation processor).
Кто-нибудь смог успешно использовать этот bean-компонент, как описано здесь в руководстве micronaut-sql? https://micronaut -projects.github.io / micronaut-SQL / снимок / руководство / index.html # jooq