Я хотів поділитися своїм рішенням, яке відповідає @Configurableпідходу, як brieflyзгадується у відповіді @ glaz666, оскільки
- відповідь на @skaffman майже 10 років, і це не означає , що не досить добре або не працює
- Відповідь @ glaz666 коротка і не дуже допомогла мені вирішити мою проблему, але вказувала мені в правильному напрямку
Моя установка
- Spring Boot 2.0.3 з
Spring Neo4j & Aop starts(що в будь-якому разі не має значення)
- Ігнорувати боби, коли
Spring Bootготовий, використовуючи @Configurableпідхід (використовуючи ApplicationRunner)
- Gradle & Eclipse
Кроки
Мені потрібно було виконати наведені нижче кроки, щоб змусити його працювати
- Поміщення,
@Configurable(preConstruction = true, autowire = Autowire.BY_TYPE, dependencyCheck = false)яке слід розміщувати поверх того, Beanщо повинно бути встановлено вручну. У моєму випадку те, Beanщо має бути встановлено вручну, має @Autowiredпослуги, отже, реквізити вищевказаних анотацій.
- Анотація головного весняного завантаження
XXXApplicaiton.java(або файлу, який зазначається @SpringBootApplication) за допомогою @EnableSpringConfiguredта@EnableLoadTimeWeaving(aspectjWeaving=AspectJWeaving.ENABLED)
- Додайте залежності у свій файл збирання (тобто build.gradle або pom.xml залежно від того, який саме ви використовуєте)
compile('org.springframework.boot:spring-boot-starter-aop')таcompile('org.springframework:spring-aspects:5.0.7.RELEASE')
- Новий + ваш,
Beanякий @Configurableанотується де завгодно, і його залежності мають бути підключені автоматично.
* Що стосується пункту №3 вище, я усвідомлюю, що org.springframework.boot:spring-boot-starter-aopтранзитивно тягне spring-aop(як показано тут мавенцентральне ), але, у моєму випадку, Затемнення не вдалося вирішити @EnableSpringConfiguredанотації, отже, чому я явно додав spring-aopзалежність на додаток до стартера. Якщо ви зіткнулися з одним і тим же питанням, просто оголосьте про залежність або вирушайте у пригоду з'ясування
- Чи є конфлікт версій
- Чому
org.springframework.context.annotation.aspect.* не доступний
- Чи правильно налаштовано IDE
- І т.д.