Spring JavaConfig vs Annotated Class

时间:2014-08-17 00:57:57

标签: java spring

如何在JavaConfig中定义一个bean,然后只是注释一个类?

JavaConfig:

@Configuration
public class AppConfig {
    @Bean
    public FilterRegistrationBean filterRegistrationBean () {
        SomeFilter filter = new SomeFilter();

        return SomeFilter;
    }

带注释的类

@Bean
public class SomeFilter extends FilterRegistrationBean {
}

2 个答案:

答案 0 :(得分:3)

@Bean注释无法应用于类类型。 @Bean是由@Configuration类解析器处理的注释。它适用于工厂方法。

假设你的意思是@Component,不同之处在于显式声明,你可以控制bean类的整个实例化及其初始化,而不是隐式,你可以让容器弄清楚它。

答案 1 :(得分:1)

您可以使用@Component注释您的bean,以获得与Config类中的@Bean注释相同的效果。即@Bean显式bean声明。 @Component隐式(或自动)bean定义。