Spring概念
1.Spring是开源的轻量级的框架
2.Spring核心主要由两部分
(1)aop:面向切面编程,扩展功能不是通过修改源代码实现
(2)ioc:控制反转:
*比如有一个类,在类里面有一个不是静态的方法,
调用类里面的方法,创建类的对象,使用对象调用方法,
创建类对象的过程,需要new出对象;
*把对象的创建交给spring配置创建类对象(不需要new)
3.Spring是一站式框架
(1)spring在javaee三层结构中,每一层都提供不同的解决技术
*web层:springMVC
*service层:spring的ioc
*dao层:spring的jdbeTemplate
4.spring版本
(1)hibernate5.x
(2)spring4.x
Spring的ioc操作
1.把对象的创建交给spring进行管理
2.ioc操作两部分
(1)ioc的配置文件方式
(2)ioc的注释方式
IOC底层原理
1.ioc底层原理使用技术
(1)xml配置文件
(2)dom4j解决xml
(3)工厂设计模式
(4)反射
2.分析ioc实现原理
(1)
//调用类里面的方法
(2)
解决方法:使用工厂模式解耦和
第一步 创建xml配置文件,配置要创建对象类
第一步 导入jar包
(1)解压资料zip文件
jar特点:都有三个jar包 release,Javadoc,ources
core container:beans, core, context, spEL
(2)做spring最基本功能的时候,导入四个核心的jar包就可以了
(3)导入支持日志输入的jar包(log4j, logging)
第二步 创建类,在类里面实现方法
第三步 创建spring配置文件,配置创建类
(1)spring核心配置文件名称和位置不是固定的,建议放到src下面,
官方建议(命名为)applicationContext.xml
class:[类的全路径]
第四步 写代码测试对象创建
1.Spring是开源的轻量级的框架
2.Spring核心主要由两部分
(1)aop:面向切面编程,扩展功能不是通过修改源代码实现
(2)ioc:控制反转:
*比如有一个类,在类里面有一个不是静态的方法,
调用类里面的方法,创建类的对象,使用对象调用方法,
创建类对象的过程,需要new出对象;
*把对象的创建交给spring配置创建类对象(不需要new)
3.Spring是一站式框架
(1)spring在javaee三层结构中,每一层都提供不同的解决技术
*web层:springMVC
*service层:spring的ioc
*dao层:spring的jdbeTemplate
4.spring版本
(1)hibernate5.x
(2)spring4.x
Spring的ioc操作
1.把对象的创建交给spring进行管理
2.ioc操作两部分
(1)ioc的配置文件方式
(2)ioc的注释方式
IOC底层原理
1.ioc底层原理使用技术
(1)xml配置文件
(2)dom4j解决xml
(3)工厂设计模式
(4)反射
2.分析ioc实现原理
(1)
public class User { public void add() { ...... } }//在servlet调用User类里面的方法
//调用类里面的方法
User user = new User(); user.add();*缺点:耦合度太高
(2)
解决方法:使用工厂模式解耦和
public class UserService { public void add() {} } //创建工厂类 public class Factory { //提供返回UserService对象的方法 public static UserService getService() { return new UserService(); } } public class UserServlet { UserServlet s = Factory.getService(); s.add(); } //但是存在servlet和工厂类耦合
(3)思想:高内聚低耦合--ioc
第一步 创建xml配置文件,配置要创建对象类
<bean id="userService" class="cn.itcast.UserService"/>第二步 创建工厂类,使用dom4j解析配置文件+反射
public class UserFactory { //返回UserService对象的方法 public static UserService getService() { //1.使用dom4j解析xml文件 //根据id值userService, 得到id值对应的class属性值 String classValue = "class属性值" //2.使用反射创建类对象 Class clazz = Class.forName(classValue); //创建类对象 UserService service = clazz.newInstance(); return service; } } public class UserService { ...... } public class UserServlet { //在servlet中得到serve的对象 UserFactory.getService(); }IOC入门案例
第一步 导入jar包
(1)解压资料zip文件
jar特点:都有三个jar包 release,Javadoc,ources
core container:beans, core, context, spEL
(2)做spring最基本功能的时候,导入四个核心的jar包就可以了
(3)导入支持日志输入的jar包(log4j, logging)
第二步 创建类,在类里面实现方法
package cn.itcast.ioc; public class User { public void add() { System.out.println("add..."); } public static void main(String[] args) { User user = new User(); user.add(); } }
第三步 创建spring配置文件,配置创建类
(1)spring核心配置文件名称和位置不是固定的,建议放到src下面,
官方建议(命名为)applicationContext.xml
(2)引入schema约束
在Spring的配置文件中找schema约束
找到最后一个文件,用浏览器打开,里面有约束的定义,可以直接复制。在浏览器中从后往前找约束的定义。
扫描二维码关注公众号,回复:
607703 查看本文章
配置文件中需要的约束(引入约束):要能看懂
<!-- ioc入门--> <bean id = "user" class="cn.itcast.ioc.User"></bean>id:[可以随意命名,这里用全小写类名]
class:[类的全路径]
第四步 写代码测试对象创建
test中创建对象
User user = (User) context.getBean("此处用的是id值");
(1)这段代码仅在测试中使用