java - 使用带有 java 配置的工厂方法创建 bean

标签 java spring spring-java-config

我有一个由加载时编织机制创建的方面。但是我需要在其中注入(inject)我的服务,所以它的切面必须由 spring 创建。 我的方面看起来像这样:

@Aspect
public class SomeAspect {

  @Inject
  private SomeService someService;

  @Before("some_pointcut_here")
  public void doInterception() {
    //...call service here
  }

}

我可以用 xml 来做:

<bean id="myAspect" class="foo.bar.SomeAspect" factory-method="aspectOf" />

所以问题是如何使用 spring java config 实现相同的功能。任何建议将不胜感激。谢谢

编辑

我用@Component 注释我的方面并且它有效。这对我来说很奇怪,因为 xml 配置依赖注入(inject)在我的情况下不起作用,但它适用于 java 配置

最佳答案

@Bean
public SomeAspect someAspect() {
    return org.aspectj.lang.Aspects.aspectOf(SomeAspect.class);
}

关于java - 使用带有 java 配置的工厂方法创建 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33606857/

相关文章:

java - LambdaMessageProcessor 无法识别 ConversionService 的负载类型

spring-security - 使用Spring Security Java配置时禁用基本身份验证

java - 是否有在 Java 中生成随机字符的功能?

java - Akka 是否支持没有对象序列化的进程内消息传递?

java - 我应该使用 SolrJ 将 Lucene 项目转换为基于浏览器的搜索引擎吗?

java - Spring AutoPopulatingList 最大尺寸?

java - 使用比较器对 java 对象进行排序时出错 : Abstract and does not override abstract method compare

java - Controller 类级别的 Pathvariable 在 Spring Restful 上不起作用

java - Hibernate JPA 和 Spring javax.persistence.TransactionRequiredException : no transaction is in progress (2)

java - Tomcat中的jndi资源没有java :/comp/env/prefix