发表于: 2018-01-04 21:03:19
1 519
一 、今天完成的事情
1、全面学习spring IOC的思想和操作以及原理,围绕深度思考中的内容来进行学习和小课堂的准备
spring概念
1、是一个框架
2、是一个开源的轻量级框架
3、是一个一站式框架 用了这个框架,开发就可以一步到位 因为在J2EE的三层结构中,spring为每一层都提供了不同的解决技术。
比如:web层: spring MVC
service层:spring IOC
dao层:spring的JDBCtemplate
4、两个核心内容
a、IOC
b、AOP(之后再学习)
IOC:控制反转
-有一个类,在类里面有方法,我们要调用这个类里面的方法,那我们必须创建这个类的对象,使用对象来调用方法,而我们一般创建类的对象的过程,都需要用到关键词“new”来完成。
-通过控制反转,我们可以把对象的创建不是通过“new”的方式来实现,而是交给spring进行配置来创建类的对象
-我感觉ioc对于传统操作在两个方面进行了优化和改良。一个是对象的创建,一个就是属性的注入
IOC的操作分为两种
1、ioc的配置文件方式(.xml)
2、ioc注解方式
ioc是怎样实现的呢
ioc中使用的技术(实现技术)
a、xml配置文件
b、dom4j(读写xml)
c、工厂的设计模式
d、反射
第一步 创建xml配置文件,配置要创建对象的类
第二步 创建工厂类,使用dom4j解析xml配置文件+反射 代码如图
用Bean工厂的方式实现了对象的创建,降低了类与类之间的耦合度,为代码的维护和修改提供了很大的便利
spring的基于配置文件(xml)的操作
1、bean实例化有三种方式
一、使用类的无参数的构造创建(最常用的创建对象方法)
二、使用静态工厂创建
(1)、创建静态方法,返回类的对象
三、使用实例工厂创建
(2)、创建一个不是静态的方法,返回类的对象
Bean标签的常用属性:id:在规范内随便取,拿对象出来用的时候getBean()内匹配得上就行
class:需要创建对象的类的路径
name:和id一个用法,可以用特殊符号
scope:单例和多例的选择
无参配置
静态工厂类
静态工厂配置
实例工厂类
实例工厂配置
属性注入
1、创建对象的时候,向类里面的属性里面设置值
2、传统的属性注入的三种方式
a、使用set方法注入
b、有参数的构造注入
c、使用接口注入
3、在spring框架中,常用前两种属性注入方式,尤其是set方法注入
传统的注入方式如图
使用spring IOC的方式:
1、使用含参数的构造函数注入方式
创建类
使用set方法注入属性(常用)
注入对象类型的属性(重点) ccc
1、创建一个A类和B类
2、在A类里面得到B的对象
实现过程
1、在Boy里面把Girl作为类型属性
2、生成Girl类型的属性的set方法
3、在配置文件中完成注入属性
spring注解
1、代码中特殊的标记,使用注解能完成一些相关的功能
2、可以替代配置文件,但是不能完全替代配置文件
创建对象一共有4个注解 @Component @Controllker:WEB层 @Service:业务层 @Repository:持久层
注解扫描
注解注入属性 @Autowired:自动装配 @Resource:依据name确定注入对象
配置同样用注解扫描
最后,所有的测试结果都基于springIOC容器框架测试通过
IOC和DI的关系的理解
1、ioc:控制反转,把对象的创建交给spring进行配置
2、DI:依赖注入,向类里面的属性中设置值
依赖注入和控制反转是对同一件事情的不同描述,简单的说就是它们描述的角度不同。依赖注入是从应用程序的角度在描述,应用程序依赖容器创建并注入它所需要的外部资源;而控制反转是从容器的角度在描述,描述完整点:容器控制应用程序,由容器反向的向应用程序注入应用程序所需要的外部资源。
二、明天计划的事情
1、知识点还没归纳,看起来比较乱,需要花时间梳理
2、小课堂希望能合格,我相信我有一个好师兄
3、如果小课堂合格了,就继续学习spring MVC
三、遇到的问题
1、脑子太笨,消化知识太慢
2、小课堂选了个很不会的题目,准备得也不够充分,下次注意
四、收获
几乎掌握了springIOC的用法
task2开始时间:2017.01.03
预计demo时间:2017.01.18
可能有延期风险
原因:之前没有预计到小课堂的时间,准备小课堂可能会花去一小部分时间,希望能按时完成
http://task.ptteng.com/zentao/project-task-350.htm
评论