大家好,我是IT修真院深圳分院第5期学员,一枚正直善良的JAVA程序员。
今天给大家分享一下,修真院官网JAVA任务4中,ANNOTATION和XML两种配置的差别。
一、背景介绍
我们的项目刚开始学习的时候用XML配置。随着学习,会引入Annotation方式。而这两种方式又有什么区别呢?二.知识剖析
1.不管是XML还是Annotation,其本质都是为spring容器提供Bean定义的信息,采用基于XML的配置,则Bean的定义信息和Bean实现类本身是分离的;而采用基于注解的配置文件,则Bean的定义信息通过在Bean实现类上标注注解实现。
Spring Application Framework的核心是IoC容器。 其作用包括对应用程序的对象进行实例化、初始化、装配以及在对象的整个生命周期中提供其他Spring功能。 构成应用程序主要部分且由Spring容器进行管理的对象被称为Bean或者POJO。 为实例化Bean并指定如何对这些Bean进行装配,需要向Spring容器提供相关信息, 所提供的信息被称为配置元数据(configuration metadata)。
Bean的元数据由以下四方面组成:
Bean的实现类; Bean的属性信息,如数据源的连接数、用户名、密码等; Bean的依赖关系,Spring根据依赖关系配置完成Bean之间的装配; Bean的行为配置,如生命周期及生命周期各个过程的回调函数等。
三.常见问题
1.基于XML配置和基于注解配置这两种方法分别适用哪些情况?
2.为什么SpringMVC更倾向于使用注解配置?
四.解决方案
答:一、基于XML配置适用情况:
1.1.Bean实现类来源于第三方类库,如DataSource、JdbcTemplate等,因为无法在类中标注注解,所以通过XML配置方式较好;
1. 2.命名空间的配置,如aop、context等,只能采用基于XML的配置. 基于注解配置适用情况: Bean的实现类是当前项目开发的,可以直接在Java类中使用基于注解的配置。
2.1. SpringMVC框架给出了专用的几个注解,使其层次更加分明
2.2. MVC层次较为简单,而url映射也十分简单,哪个网址出错可以立即找到其映射类。
二、
2.1. SpringMVC框架给出了专用的几个注解,使其层次更加分明
2.2. MVC层次较为简单,而url映射也十分简单,哪个网址出错可以立即找到其映射类。
五。编码实战
七、参考文献
百度,知乎,CSDN
八.更多讨论
1. 用XML方式配置springAOP今天讲解的时候约到一个问题,piontcut2,这个2代表什么?
答:我记错了,和任务4里面的view order=1,记掺和了。这个2没有任何意义,就是个名字,你可以叫piontcut3.
2.@controller这个注解可以用xml配置文件代替吗?
答:理论上来讲,所有的注解都可以用xml配置文件代替,只不过这个@controller不用而已,太麻烦又没有必要。
3.XML和Annotation的缺点各是什么?
答:xml可以方便的看出个配置的关系,但是一旦出错,很难修改,除非很熟悉。因为IDEA不会提示你配置文件哪里错了。
注解的缺点就是,和代码的耦合度太高,一旦出问题,不好修改。
感谢大家观看
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~
我的邀请码:19214843,
或者你可以直接点击此链接:http://www.jnshu.com/login/1/19214843