@Component:@Controller@Repository@Service
都是用来定义Bean的
Bean
@Component是最通用的
@Component
@Service,@Repository也是@Service,@Repository也是@Component,只不过赋予了不同的语义,便于代码阅读,其实这三个随便用也无所谓,Spring不会报错。
@Service
@Repository
@Controller特殊,专门被Spring MVC处理,不能替换为另外三个。
@Controller
@Service用于标注业务层组件
@Controller用于标注控制层组件(spring中的controller)
@Repository用于标注数据访问组件,即DAO组件
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注
@Controller 就是用在controller, @Service 用在service, @Repository 用在dao, @Component用在其他不明确的地方。
只是语意上不同,作用都是一样
效果都是一样的**
这四个注解对机器来说运行效果一样。只有语义上的区别,告诉看代码的人这个类是哪个层面的组件
都是用来定义
Bean
的@Component
是最通用的@Service
,@Repository
也是@Service
,@Repository
也是@Component
,只不过赋予了不同的语义,便于代码阅读,其实这三个随便用也无所谓,Spring不会报错。@Controller
特殊,专门被Spring MVC处理,不能替换为另外三个。@Service用于标注业务层组件
@Controller用于标注控制层组件(spring中的controller)
@Repository用于标注数据访问组件,即DAO组件
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注
@Controller 就是用在controller, @Service 用在service, @Repository 用在dao, @Component用在其他不明确的地方。
只是语意上不同,作用都是一样
效果都是一样的**
这四个注解对机器来说运行效果一样。只有语义上的区别,告诉看代码的人这个类是哪个层面的组件