@[toc] Spring注解@Component、@Controller、@Service、@Repository放在一块儿讲的缘由很简单,由于,这四个注解实际上没有任何本质区别,只是后三者只是涉及一些命名规范而已,四者的注解效果确实一致。关于这里的命名规范就比如苹果叫苹果,你不会说苹果是菠萝。这样的好处显然易见,听到别人说苹果,你就知道是苹果,不会想到菠萝。而编程中@Controller你会知道这是一个Controller表现层,@Service表明这是一个Service业务层。javascript
一、导入AOP的jar包【固然如今基本都是maven依赖,不多会注意到这一点,基本感受不到】 二、导入Context约束 三、告知spring在建立容器时要扫描的包,使用注解必须在其范围内java
No bean
异常
Component翻译过来就是组件
的意思,读做:抗破然着 (义正词严)spring
曾经XML的配置:编程
<bean id="XXX" class="com.XX.XXX </bean>
复制代码
@Component
注解的做用就和在XML
配置文件中编写一个< bean >
标签实现的功能是同样的,都是用于把当前类对象存入spring容器中。设计模式
@Component
注解属性主要指的是value
属性。value
属性用于指定bean
的id
。当咱们不写时,它的默认值是当前类名首字母改小写。固然通常状况下是不写的。好比: 并发
做用:用于把当前类对象存入spring容器中 属性:value用于指定bean的id。当咱们不写时,它的默认值是当前类名,且首字母改小写。 注意:当只有一个属性值的时候默承认以不写
value=
框架
固然不排除出现相似这种奇葩状况,可能在一奇葩需求上就出现了这种状况,显然宜春是碰到过了,固然若是读者朋友已经理解了我上面写的东西,估计这个就很好理解了!maven
正确解读:这是一个service业务层类,而且被注册的bean的id为XXX。若是你的spring容器中没有一个组件id为XXX的,无疑运行指定报No bean named 'YYY'
异常,注意这里的YYY
不是XXX
,长点心。学习
至于@Controller、@Service、@Repository他们三个是spring框架为咱们提供明确的三层使用的注解,使咱们的三层对象更加清晰!spa
实际上这四个注解实际上没有任何本质区别,若是你喜欢,你彻底能够把这四个注解当成一个注解用,固然这样的话老板可能就不喜欢你了。
若是本文对你有一点点帮助,那么请点个赞呗,你的赞同是我最大的动力,谢谢~
最后,如有不足或者不正之处,欢迎指正批评,感激涕零!若是有疑问欢迎留言,绝对第一时间回复!
欢迎各位关注个人公众号,里面有一些java学习资料和一大波java电子书籍,好比说周志明老师的深刻java虚拟机、java编程思想、核心技术卷、大话设计模式、java并发编程实战.....都是java的圣经,不说了快上Tomcat车,咋们走!最主要的是一块儿探讨技术,向往技术,追求技术,说好了来了就是盆友喔...