20170529:初学spring的小总结


1. 学习参考的网址:http://www.yiibai.com/spring/maven-spring-jdbc-example.html

2. 目录树如下图:

20170529:初学spring的小总结


3. 说明一下,此处我是先在公司的电脑里把源码按学习的网址把代码都敲过一遍了,但是没有带回来,所以后来是直接从网站上下载的代码,但是代码里没有各种jar,所以是自己一点点下载后,运行通过的。

4. 以下纯属个人理解

a) APP.java是一个公共类,里面可以实例化模型类,可以调用数据处理层去处理数据。

b) Customer.java是一个模型类,我感觉也是一个实体类,对应的就是某一种特定人群所有特征的描述,以及get/set方法,构造方法和toString方法等。

c) CustomerDAO是一个数据处理层的接口,定义了基本的数据存储的方法,若其他类继续了此接口,则要实现接口里的所有方法,这样在公共类里调用此接口时,可以保证有相应的方法可以去实现。

d) JdbcCustomerDAO是使用jdbc的方式来实现数据的操作,里面写了所有具体的存储或查询的实现。

e) Spring-Customer.xml定义了CustomerDAO的类路径,将CustomerDAO的类路径设置成jdbcCustomerDAO,则当在公共类里使用spring的反转控制获取CustomerDAO的bean时,则可以直接调用jdbcCustomerDAO。(此处可能理解的不对,也可能是在公共类里实例CustomerDAO的时候,直接实现成jdbcCustomerDAO)

f) Spring-Datasource.xml定义了数据库链接的方式地址,以及数据库类型等。

g) ApplicationContext.xm调用了e和f的xml,然后在公共类里获得上下文对象的时候进行加载。

5. 疑问总结:

a) 这种方式的灵活方式只是可以在程序编写完以后,可以控制某个类是使用哪个子类来实现而不必个性程序源码吗?