发表于: 2017-09-07 21:31:13

1 771


一、今日完成

今天没有做官网任务,主要时间和精力用来整理和准备Java小课堂《Annotation和XML两种配置的差别,为什么更喜欢使用Annotaion来配置Spring MVC?》,其主要内容如下:

一、背景介绍

Spring Application Framework的核心是IoC容器。其作用包括对应用程序的对象进行实例化、初始化、装配以及在对象的整个生命周期中提供其他Spring功能。构成应用程序主要部分且由Spring容器进行管理的对象被称为Bean或者POJO。为实例化Bean并指定如何对这些Bean进行装配,需要向Spring容器提供相关信息,所提供的信息被称为配置元数据(configuration metadata)。

二、知识剖析

Bean的元数据由以下四方面组成:

Ø  Bean的实现类;

Ø  Bean的属性信息,如数据源的连接数、用户名、密码等;

Ø  Bean的依赖关系,Spring根据依赖关系配置完成Bean之间的装配;

Ø  Bean的行为配置,如生命周期及生命周期各个过程的回调函数等。

Spring1.0支持基于XML的配置,Spring2.0新增基于注解的配置,Spring3.0新增基于Java类配置,Spring4.0新增基于Groovy动态语言配置。

不管是XML还是注解,其本质都是为Spring容器提供Bean定义的信息。采用基于XML的配置,则Bean的定义信息和Bean实现类本身是分离的;而采用基于注解的配置文件,则Bean的定义信息通过在Bean实现类上标注注解实现。

三、常见问题

基于XML配置和基于注解配置这两种方法分别适用哪些情况?

四、解决方案

基于XML配置适用情况:

1.      Bean实现类来源于第三方类库,如DataSourceJdbcTemplate等,因为无法在类中标注注解,所以通过XML配置方式较好;

2.      命名空间的配置,如aopcontext等,只能采用基于XML的配置

基于注解配置适用情况:

Bean的实现类是当前项目开发的,可以直接在Java类中使用基于注解的配置。 

六、扩展思考

Spring容器独立于配置元数据格式,二者之间是解耦的,因此,改变配置方式对 Spring 的框架自身是透明的。

对于一个使用Spring开发的典型WEB应用程序而言,将配置元数据划分到不同文件,可以清晰反映出应用程序的层,不但便于管理,又可以同时由不同人员开发。

beans-web.xml或者ConfigurationForWeb 类定义WEB/表现层中所操作的Bean;

beans-service.xml或者ConfigurationForService类定义服务层/业务层中所操作的Bean;

beans-dao.xml或者ConfigurationForDao类定义数据访问层中所操作的Bean

七、参考资料

1. Mert Caliskan Kenan Sevindik . 王净 范园芳 田洪译. Spring 入门经典. 北京:清华大学出版社,2015.

2. 陈雄华 林开雄 文建国著. 精通Spring 4.X 企业应用开发实战. 北京:电子工业出版社,2017.

3.Spring Framework Reference Documentation


二、明日完成

1.学习LINUX系统vi编辑器、使用shell和文件操作等知识点;

2.结合今天小课堂内容,复习Spring MVC相关知识。


三、遇到问题

对Spring AOP功能比较陌生,小课堂讲解遇到关于“命名空间的配置,如aopcontext等应该使用基于XML配置的方式来配置元数据”整个问题,师兄都没有给出解答;计划花时间对学习AOP,解决整个问题。


四、收获

借准备小课堂梳理知识点的机会,把配置元数据、如何管理Bean以及依赖注入方式理解更加深入,对于setter注入和构造函数注入两者的区别和用法掌握了。






 



返回列表 返回列表
评论

    分享到