Spring JavaConfig 与带注释的类

Ste*_*eve 2 java spring

在 JavaConfig 中定义 bean 与仅注释类有何不同?

Java配置:

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

        return SomeFilter;
    }
Run Code Online (Sandbox Code Playgroud)

注释类

@Bean
public class SomeFilter extends FilterRegistrationBean {
}
Run Code Online (Sandbox Code Playgroud)

Sot*_*lis 5

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

假设您的意思是类似的@Component,区别在于显式声明,您可以在其中控制 bean 类的整个实例化及其初始化,而隐式声明则是让容器自己解决。