spring优点,ioc的实现,DI依赖注入的实现
Mybatis回顾

需求:根据用户的id查看用户信息

1:spring框架概述
1.1:产生的背景

1.2:spring是什么
Spring是分层的JavaSE/EE full-stack(一站式) 轻量级开源框架
一站式: Spring提供JavaEE各层解决方案 (表现层 SpringMVC、 持久层 JdbcTemplate 、 ORM框架整合 、 业务层 IoC、AOP、事务控制 )
轻量级:占用资源不多,使用方便, 这个概念是个相对概念,spring出现为了取代EJB繁琐、复杂 ,相对于EJB
1.3:spring 的核心
IoC(Inverse of Control 控制反转):将对象创建权利交给Spring工厂进行管理
被反转是什么 ? -- 对象的创建的权利
AOP(Aspect Oriented Programming 面向切面编程),基于动态代理功能增强 - 是一种编程的思想 - 在不修改源代码的情况下对功能的拓展
1.4:spring 的优点

2:spring的快速入门
2.1:新建项目,导包
课程使用4.2.X

dependencies 开源技术依赖jar包集 (方便进行jar包导入)

需要导什么包?
需要导入这四个基本的包!!
还需要commons-logging, log4J + 配置文件
2.2:编写传统用户登录的实现
IoC Inverse of Control 控制反转的概念,就是引入工厂的概念将原本在程序中手动创建对象的控制权,交由Spring框架管理
2.3:IoC 的实现
控制反转, 什么被反转了 ? - 对象的创建的权利
1:在src下新建一个文件:文件名为 applicationContext.xml
2:引入约束 - context
3:开始配置 - bean

4:测试:
1、加载配置文件
2、获取bean对象
3、使用对象

2.4:DI依赖注入的实现
DI:Dependency Injection 依赖注入,在Spring框架负责创建Bean对象时,动态的将依赖对象注入到Bean组件
面试题:IOC和DI有什么区别?/有什么关系?
IOC的别名:依赖注入(DI)
2004年,Martin Fowler探讨了同一个问题,既然IOC是控制反转,那么到底是“哪些方面的控制被反转了呢?”,经过详细地分析和论证后,他得出了答案:“获得依赖对象的过程被反转了”。控制被反转之后,获得依赖对象的过程由自身管理变为了由IOC容器主动注入。于是,他给“控制反转”取了一个更合适的名字叫做“依赖注入(Dependency Injection)”。他的这个答案,实际上给出了实现IOC的方法:依赖注入。所谓依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。
其实他们两个人是在不同时期做的同一件事,都是获得依赖对象的过程交给了容器,只不过,ioc强调的是由容器来创建,Di强调的是容器在创建对象的时候,也可以完成对象之间关系的注入
将dao注入到service中,在service的类中添加dao的属性引用,然后给其set方法,
在xml中的service bean中使用property标签将dao注入到service中。其中name就是service的属性名,ref是dao的name或id。
2.5:工厂获得的两种方式:

src下 ----- ClassPathXmlApplicationContext
WEB-INF下 ---- FileSystemXmlApplicationContext

浙公网安备 33010602011771号