Я хотел поделиться своим решением, которое следует за подходом @Configurable
как briefly
, упомянутым в @ glaz666 answer , потому что
Spring Neo4j & Aop starts
(что в любом случае не имеет значения) Spring Boot
готов с использованием подхода @Configurable
(с использованием ApplicationRunner
) Мне нужно было выполнить следующие шаги, чтобы заставить его работать
@Configurable(preConstruction = true, autowire = Autowire.BY_TYPE, dependencyCheck = false)
поверх вашего Bean
, который должен быть создан вручную. В моем случае Bean
, который должен быть создан вручную, имеют @Autowired
сервисы, следовательно, реквизиты выше аннотации. XXXApplicaiton.java
Spring Boot (или файл, аннотированный с помощью @SpringBootApplication
) с помощью @EnableSpringConfigured
и @EnableLoadTimeWeaving(aspectjWeaving=AspectJWeaving.ENABLED)
compile('org.springframework.boot:spring-boot-starter-aop')
и compile('org.springframework:spring-aspects:5.0.7.RELEASE')
Bean
, который аннотируется с помощью @Configurable
где угодно и его зависимости, должен быть autowired. * Что касается точки № 3 выше, я знаю, что org.springframework.boot:spring-boot-starter-aop
транзитивно тянет spring-aop
(как показано здесь mavencentral ), но в в моем случае Eclipse не удалось разрешить аннотации @EnableSpringConfigured
, поэтому я явно добавил зависимость spring-aop
в дополнение к стартеру. Если вы сталкиваетесь с той же проблемой, просто объявляйте зависимость или отправляйтесь в приключение по выяснению
org.springframework.context.annotation.aspect.*
недоступен Взгляните на Интерфейс опций FastMM4 от Jed Software. Это бесплатное приложение для настройки FastMM