发表于: 2017-09-05 23:30:26
1 941
今天完成的任务:明天的计划:遇到问题:收获:
1学习spring基础。
1.spring的基础知识。
IOC是控制反转,传统的程序开发,对象使用其他对象必须要new或者查询,使用完之后还需要关闭连接。总是与其他对象有关联的关系。对象控制另一对象。缺点是对象之间的互相依赖程度高,耦合程度高,导致需要修改或出问题是,需要牵扯很多其他的对象。A在使用对象时,需要new或者调用其他对象,主动控制。
而IOC相当于对象与对象之间的第三方,作为容器,所有类都会在IOC容器记录,spring会在程序需要时主动提供类,控制所有对象,所以叫控制反转。IOC控制所有类,实现了解耦合,对象之间的依赖关系降低,一个对象出问题不会影响另一个对象。A在使用对象时,IOC会主动将对象传给他,被动控制。从代码控制转移到了IOC控制。
图中1是表示不使用spring时的情况,几个模块相互依赖,耦合度高。图2是使用IOC,进行控制几个模块,将其之间的耦合分开,使其互相不影响。并且在
类需要调用其他类时主动分配,所以叫控制反转
实现IOC的方法:DI 依赖注入 是指IOC在将对象传到对象的过程。IOC运行时动态的将依赖关系注入到依赖中。(电脑读取Usb接口的文件,人作为IOC给电脑注入usb设备)
将组件间的关系由内部提炼到外部容器。
好处: 降低了耦合度。不会互相影响。维护性好。
提高开发的质量和效率,在开发时只需要关注自己的一部分,不需要受其他模块的影响。
统一标准,提高复用性。符合接口标准都可以使用。
AOP:
AOP专门用于解决处理系统中分布于各个模块中的交叉点关问题,在j2ee中常用AOP来处理横切性质的系统服务。将常用的服务组件从代码提取出来,将其模块化,并且用声明的方式来使用到其他组件,从而实现程序不用关心太多服务组件。避免了核心代码因为插入了太多服务组件导致代码混乱的结果。
图1 图2
如图1,三个方法中都有相同的部分,而如果需要修改这部分,需要将三个模块中的代码都进行修改,而如果模块是100个,将会造成很大的工作量。但是使用AOP时,可以将相同的模块提取出来,然后在需要的地方来调用,这样就会很方便的来修改。
AOP自己的理解:将服务组件从代码中脱离出来,这样在A使用服务时就不需要自己去调用而是通过其他配置的方式来使用,A不需要知道服务组件的逻辑或者代码,只需要使用就可以。
Java反射机制:
2学写spring的简单示例。
使用spring的框架学习写出了一个输出helloword的程序,如图是目录创建。自己的理解是:main函数就是主函数,然后其中包含了调用xml的配置文件,而配置文件中包含了两个类,分别是中文的输出和英文的输出。Person是模型层。所以工作过程就是:main函数调用-----xml文件-----使用HelloWorld 和HelloChina类-------调用dao来获得方法。如图,几个类之间相互不作用由IOC来控制联系。
配置文件后,显示运行结果。
3.java基础和数据库基础
创建新的实例:1.构造函数方法:Car car =new car (“”);
2.Set方法:Car car=new Car();car.setBrand(“宝马”);
数据库基础:
Select name ,Upper(name)AS name_1 from tablename order by name;将某个数据变为大写。
Select name from tablename where soundex(name)=soundex(‘ben’);将文本转化为语音表示,来模糊匹配。
Select avg(age)as avg_age from tablename;计算并输出平均年龄
Select count(*)as row from tablename;计算行数。
Select count(age) as row from tablename;计算含有年龄信息的行数;
Select max/min/sum (age) from tablename; 最大值最小值总和。
4.maven依赖
有传递依赖性。只需要加入每一个依赖,不需要考虑类的依赖关系。
Maven仓库是什么:存放所有jar文件的地方,所有的maven项目都从仓库中获得自己依赖的jar,节省了磁盘资源。不在需要每个项目都单独的导入jar文件,不需要在因为jar版本的问题而头疼。Maven在使用构件时都是先从本地查找是否有需要的文件,如果有的话就调用,没有就会去远程的maven仓库下载再调用。过程是:在pom中添加依赖------maven搜索本地是否满足-------满足就调用,不满足就去远程仓库下载---------远成仓库没有就会报错。
怎么在pom中添加依赖:
在网站http://mvnrepository.com/中搜索需要的jar包,然后将其配置文件复制到pom中。最后reimport。
明天的计划:
1.学习基础
2.spring来配置mybatis
遇到问题:
1. 使用依赖来下载或者导入jar包和自己手动导入jar包有啥区别,还有一般使用什么方法?
2. Spring的工作原理还是有些不理解
收获:
学习了spring的基础概念,理解加深了一些。
知道了使用maven添加依赖的方法。
完成了简单的spring示例。
评论