spring aspect

new Bean 问题

在一些场景下,我们需要通过 new 来创建 spring bean,而不是借助 spring 框架,这时会遇到 @Autowired 注解的字段没有初始化的问题(null)。 此时,可以借助 aspect 来解决,具体步骤可以分为三步。

  • 引入依赖
  • 配置 context:spring-configed
  • 命令行添加参数 -javaagent:/path/to/aspectjweaver-{version}.jar

对于 spring boot,启用 context:spring-configed 可以在 Application 类上使用注解 @EnableSpringConfigured 来实现,可能还需要 @EnableAspectJAutoProxy 注解。对于xml配置,可以添加如下代码。

1
2
<aop:aspectj-autoproxy/>
<context:spring-configured/

参考