Mam kolekcję niezarządzanych klas, które są tworzone poza wiosną. Próbowałem użyć Spring AOP z tasowaniem czasu ładowania do @Autowire
fasoli do tych klas, ale do tej pory nie miałem szczęścia.Spring Boot, @Autowire w niezarządzaną klasę przy użyciu @Configurable i tasowanie czasu ładowania
Testowałem przy użyciu Tomcat 8 i Spring Boot 1.2.0.
My @Configuration
gdzie próbuję skonfigurować klasy wygląda następująco:
@Configuration
@PropertySource("classpath:application.properties")
@EnableSpringConfigured
@EnableLoadTimeWeaving
public class Config
Wewnątrz Config
zdefiniować fasoli Chcę @Auotwire
do moich niezarządzani klasach:
@Bean
public StateProvider stateProvider() {
//setup bean
return new DynamoStateProviderImpl();
}
niezarządzanego wygląda fasoli tak:
@Configurable(autowire = Autowire.BY_TYPE, dependencyCheck = true, preConstruction = true)
public class StateOutput implements UnifiedOutput {
@Autowired
private StateProvider stateProvider;
I mam następujące deps w moim pom
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-agent</artifactId>
<version>2.5.6.SEC03</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>3.0.0</version>
</dependency>
Do tej pory nie udało nam się zobaczyć coś wstrzykuje się stateProvider
lub byli w stanie wyciągnąć żadnych informacji z dzienników. Ja również próbował zastrzyk stylu seter korzystając
@Autowired
public void setStateProvider(StateProvider stateProvider){
this.stateProvider = stateProvider;
}
Dzięki