一、Spring概念
1.开源的轻量级框架
2.核心部分:
(1)aop:面向切面编程,扩展功能不是修改源代码实现。
(2)ioc:控制反转
---比如有一个类,在类里面有方法(不是静态的方法),如果想要调用类里面的方法,就需要创建类的对象,使用对象调用方法,创建对象是需要new出来的。
---而ioc是不需要通过new的方式实现,而是交给sping配置创建类对象。
3.spring是一站式框架
(1)spring在javaEE三层结构中,每一层都提供不同的解决技术
---web层:springMVC
---service层:ioc
---dao层:jdbc Trmplate
二、Spring中的ioc操作
1.把对象的创建交给Spring进行管理。
2.ioc操作两部分
(1)ioc的配置文件方式
(2)ioc的注解方式
三、ioc底层原理
(1)XML配置文件
(2)dom4j解决XML
(3)工厂设计模式
(4)反射
-------思想:高内聚,低耦合-----
----------不同的类减少关联-------
eg:
public class UserService{
}
public class UserServlet{
//得到UserService的对象
//原始方法:new创建
//这样的缺点就是耦合度高
UserFactory.getService();
}
IOC原理:
第一步 创建XML配置文件,配置需要创建的类
<bean id="userService" class="com.itcast.UserService"/>
//这里的id只是一个名字,在后面的工厂类中根据id获取class
//这里的class是需要配置的类的路径
第二步 创建工厂类,使用dom4j解析配置文件+反射
public static UserService getService(){
//这里的返回值类型是Uservice对象
//1.根据dom4j解析配置文件+反射
//根据id值得到对应的class属性值
String classValue="class属性值";
//2使用反射创建类对象
Class clazz = Class.forName(classValue);
//创建类对象
UserService service=clazz.newInstance();
return service;
![](https://i-blog.csdnimg.cn/blog_migrate/8f3dee7088376ff0212fd8b1f8ea90e6.png)
IOC入门案例
第一步 导入jar包
第二步 创建类,在类里面创建方法
第三步 创建spring配置文件,配置创建类
第四步 写代码测试对象创建