Spring JavaConfig与带注释的类[重复]

Posted

技术标签:

【中文标题】Spring JavaConfig与带注释的类[重复]【英文标题】:Spring JavaConfig vs Annotated Class [duplicate] 【发布时间】:2014-10-10 07:25:22 【问题描述】:

在 JavaConfig 中定义一个 bean 与仅仅注解一个类有何不同?

JavaConfig:

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

        return SomeFilter;
    

带注释的类

@Bean
public class SomeFilter extends FilterRegistrationBean 

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于Spring JavaConfig与带注释的类[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 javaconfig 拒绝访问 Spring Security

Java方式配置Spring

Spring-IOC学习笔记-08基于JavaConfig开发

什么是 JavaConfig?

什么是JavaConfig?

Springboot - @Import 详解