У меня есть простой аспект, как показано ниже
@Aspect
public class PersistentAspect {
@AfterReturning("@annotation(org.aspect.PersistentOperation)")
public void log(JoinPoint jp) {
System.out.println("aspect call");
}
}
и AppConfig
, как показано ниже
public class AppConfig {
private Integer num;
private String text;
public Integer getNum() {
return num;
}
@PersistentOperation
public void setNum(Integer num) {
this.num = num;
}
public String getText() {
return text;
}
@PersistentOperation
public void setText(String text) {
this.text = text;
}
}
И класс конфигурации, как показано ниже
@EnableWs
@Configuration
public class WsConfig extends WsConfigurerAdapter {
@Override
public void addInterceptors(List<EndpointInterceptor> interceptors) {
AppConfig config = config();
interceptors.add(new CustomValidatingInterceptor(schema(), null));
}
@Bean
public AppConfig config() {
AppConfig config = null;
config = new AppConfig();
return config;
}
@Bean
public PersistentAspect persistentAspect() {
PersistentAspect persistentAspect = new PersistentAspect();
return persistentAspect;
}
}
Если я использую ниже в addInterceptors
AppConfig config = config();
Aspect
не будет работать. Очевидное решение, которое у меня есть, это изменить код на
AppConfig config = new AppConfig();
Теперь я хочу понять, есть ли конфигурация, в которой AppConfig config = config();
все еще можно заставить работать. Я предполагаю, что когда весна инициирует Бин, она может создать прокси-сервер AOP AppConfig
, а когда я инициирую бин, это как-то мешает этому процессу. Что такое способ пружинного / пружинного ботинка?
Ниже pom.xml
, поэтому в основном последний Spring 5.0.5
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web-services</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
Edit-1
До публикации я уже добавил @EnableAspectJAutoProxy
, но это не помогло.
Репозиторий git для решения проблемы находится ниже
https://github.com/tarunlalwani/spring-aop-so-50084308