春天。使用@Bean 注册方面

Sas*_*noi 6 java aop spring spring-aop spring-data

我需要一些帮助来创建 Aspect bean。

我有 module AB... 和 module starter-x。我在模块 starter-x 中声明了几个方面,以及它们的配置(如 Spring 数据存储库监控方面,配置注释为@ConditionalOnClass(Repository.class)等)。

这是示例配置的样子

@Configuration
@ConditionalOnClass(Repository.class)
public class RepositoryMonitoringConfiguration {

    @Bean
    @Qualifier("RepositoryCallCounter")
    public DatabaseCallCounter repositoryCounter(){
        return new RepositoryCallCounter();
    }


}
Run Code Online (Sandbox Code Playgroud)

我有带@Aspect注释的类(但不是@Component,当我用@Componentnot创建 bean 时@Configuration,一切正常)

所以我的问题是,是否可以在@Configuration类中提供方面 bean ,而不对其进行@Component注释(我想创建具有自动配置的酷启动器)

nek*_*739 2

可以的,你只需要像这样标记配置类:

@Configuration
@EnableAspectJAutoProxy
@ConditionalOnClass(Repository.class)
public class RepositoryMonitoringConfiguration {

  @Bean
  public DatabaseCallCounter repositoryCounter(){
    return new RepositoryCallCounter();
  }
}
Run Code Online (Sandbox Code Playgroud)