@Component 和 @bean的区别

@Component和@bean注解都是管理Java beans,但是各自的目的不同。@Component、 @Controller、@Service、@Repository通过classpath扫描实现实体自动检测。@bean只能用来声明一个单独的bean。

component类型的注解:

注解名称

作用

@Component

通过类路径扫描来自动侦测以及自动装配到Spring容器中,相当于配置文件中的

@Controller

标注controller层,注入服务

@Repository

数据管理器 (DAO, DDD),实现dao访问

@Service

标注服务层,用来进行业务的逻辑处理

其实component类型之间的注解并没有什么不同,例如:

@Component 和 @bean的区别_第1张图片

@Component 和 @bean的区别_第2张图片

@Component 和 @bean的区别_第3张图片

三者可以实现相同的功能。

*@Bean注解告诉Spring这个方法将会返回一个对象,这个对象要注册为Spring应用上下文中的bean。通常方法体中包含了最终产生bean实例的逻辑。但是Bean比Component的自定义性更强。可以实现一些Component实现不了的自定义加载类。

 

翻译自 http://www.tomaszezula.com/2014/02/09/spring-series-part-5-component-vs-bean/


 

你可能感兴趣的:(Spring全家桶)