1、1第5章 Spring框架基础框架程序设计(Java)软件工程系本科课件框架程序设计java25.1认识认识spring框架框架-简介简介Spring带来了复杂Java EE开发的春天35.0学习目标springspring框架概览框架概览1搭建第一个使用搭建第一个使用springspring框架的程序框架的程序2软件工程系本科课件框架程序设计java45.1认识认识spring框架框架-简介简介o Spring是一个开源的控制反转(Inversion of Control,IoC)和面向切面(Aspect Oriented Programming,AOP)的轻量级的容器框架.o 目的:解决企
2、业应用开发的复杂性o 范围:任何Java应用,不管是Java SE(C/S架构)还是Java EE(B/S架构)都可以使用Spring平台进行开发软件工程系本科课件框架程序设计java55.1认识认识spring框架框架-简介简介o 控制反转(IOC)n 交出控制权,或者称为依赖注入(DI,Depenency Injection)n 以往我们创建对象都是通过new的方式,如下:UserService service=new UserService();n 使用spring之后,我们直接从spring容器中获取对象软件工程系本科课件框架程序设计java65.1认识认识spring框架框架-简介简
3、介o 容器框架n 配置bean,管理容器中bean的生命周期,并维护bean之间关系的框架n bean在spring中是一个非常重要的概念 bean是java中的任意一种对象,可以是service/dao/javabean/数据源等等软件工程系本科课件框架程序设计java75.1认识认识spring框架框架-简介简介o 面向切面编程(AOP)n 面向对象编程(OOP)将整个应用程序分解成各个层次的对象,比如猫抓老鼠,我们可以分为猫和老鼠两类对象,猫拥有抓的方法,如下:/猫类public class cat/猫抓老鼠的方法pubic void catch(mouse m)/猫抓老鼠的业务逻辑代码
4、./老鼠类 public class mouse软件工程系本科课件框架程序设计java85.1认识认识spring框架框架-简介简介 n 现在我们要对猫抓老鼠这个行为记录日志,记录时间、地点等信息 /猫类public class cat/猫抓老鼠的方法pubic void catch(mouse m)/猫抓老鼠的业务逻辑代码./下面是记录日志的代码.软件工程系本科课件框架程序设计java95.1认识认识spring框架框架-简介简介o 面向切面编程(AOP)n 面向切面编程将应用程序分成多个切面,是对OOP的补充和完善 /猫类public class cat/猫抓老鼠的方法pubic void
5、 catch(mouse m)/猫抓老鼠的业务逻辑代码.n 日志记录在很多地方都需要,因此是一个公共服务。面向切面编程用于分离业务逻辑与公共服务。此处定义切面,在执行方法时进行拦截记录日志软件工程系本科课件框架程序设计java105.1认识认识spring框架框架-简介简介o 轻量级 n 整个Spring框架执行的jar包不到9MB(spring5.x版本)n Spring的处理开支也非常小n Spring是非侵入式的;基于Spring开发的应用中的对象一般不依赖于Spring的类.软件工程系本科课件框架程序设计java115.1认识认识spring框架框架-简介简介o Spring由七个模块
6、组成软件工程系本科课件框架程序设计java125.1认识认识spring框架框架-简介简介o 框架n 搭积木方式组合:Spring实现了使用简单的组件配置组合成一个复杂的应用n 积木是xml文件:在Spring中,应用中的对象是通过XML文件配置组合起来的.并且Spring提供了很多基础功能(事务管理,持久层集成等),这使开发人员能够专注于应用逻辑.软件工程系本科课件框架程序设计java135.1认识认识spring框架框架-简介简介o spring框架在项目中的位置界面层(web层)界面层(web层)业务逻辑层(service层)数据访问层(dao层)数据库strutsspringmvc框架
7、mybatishibernate框架spring框架:纵跨三层,该框架可以配置各个层的组件(bean)软件工程系本科课件框架程序设计java145.1认识认识spring框架框架-简介简介o 天生优点:n 低侵入式设计,代码污染极低n Write Once,Run Anywheren DI有效的降低了耦合度n AOP提供了通用任务的集中管理n ORM和DAO简化了对数据库访问n 高度开放性,并不强制n 对于主流的应用框架提供了集成支持,如:集成Hibernate、JPA、myBaits等,这样更便于应用的开发n 通俗一点讲,spring就是程序间的中介公司5.25.2搭建第一个使用搭建第一个使
8、用springspring框架的程序框架的程序o 例子:在应用程序中有一个service服务类UserService,如下所示:opublic class UserService oprivate String name;opublic String getName()oreturn name;oopublic void setName(String name)othis.name=name;oopublic void sayHello()oSystem.out.println(hello,+name);oo框架程序设计java155.25.2搭建第一个使用搭建第一个使用springsprin
9、g框架的程序框架的程序o 不使用spring,在测试类中调用sayHello方法如下:opublic static void main(String args)oUserService service=new UserService();oservice.setName(张三);oservice.sayHello();oo 下面使用Spring框架来获取UserService对象框架程序设计java165.25.2搭建第一个使用搭建第一个使用springspring框架的程序框架的程序o 1、下载spring框架jar包,本课用4.3.x版本o 地址:http:/repo.springsour
10、ce.org/libs-release-local/org/springframework/spring/o 可自行选择对应版本下载n 比如spring-framework-4.3.0.RELEASE-dist.zip框架程序设计java175.25.2搭建第一个使用搭建第一个使用springspring框架的程序框架的程序o 解压压缩包文件,本例是spring-framework-4.3.0.RELEASE-dist.zipo 然后在libs目录中不带后缀javadoc和sources的20个jar文件就是整个spring框架支撑的可执行jar包o 省事儿你可以全部加入到工程中,本例也可以仅
11、仅加入以下5个:o spring-aop-4.3.0.RELEASE.jaro spring-beans-4.3.0.RELEASE.jaro spring-context-4.3.0.RELEASE.jaro spring-core-4.3.0.RELEASE.jaro spring-expression-4.3.0.RELEASE.jar框架程序设计java185.25.2搭建第一个使用搭建第一个使用springspring框架的程序框架的程序o 另外需要加入一个通用的jar包到工程中n commons-logging-1.x.jarn 下载地址http:/commons.apache.o
12、rg/proper/commons-logging/download_logging.cgin 注:若有同样名字但版本不一样的jar包就无需重复加入,否则可能引起版本冲突,本例使用的是1.2框架程序设计java195.25.2搭建第一个使用搭建第一个使用springspring框架的程序框架的程序o 2、编写spring框架的配置文件n 文件体,配置beano o说明:id是当前配置的java类取的名字,class属性指定java类的地址,整行的意思是,指定了一个java类的地址和别名框架程序设计java205.25.2搭建第一个使用搭建第一个使用springspring框架的程序框架的程序o
13、 2、编写spring框架的配置文件o 在src目录中编写applicationContext.xml文件n 文件头(仅仅只写一次)o o o o o 框架程序设计java215.25.2搭建第一个使用搭建第一个使用springspring框架的程序框架的程序o 修改测试类的代码,使之使用spring框架n/使用spring框架加载配置文件n ApplicationContext act=new ClassPathXmlApplicationContext(applicationCntext.xml);n/sping框架从配置文件中找到id=userService的配置,创建对应的对象赋值给servicen UserService service=(UserService)act.getBean(userService);n service.setName(张三);n service.sayHello();框架程序设计java225.25.2搭建第一个使用搭建第一个使用springspring框架的程序框架的程序o 修改测试类的代码n/也可以通过spring属性注入的方式,给属性name赋值n n n张三n n n 运行测试类,结果一样框架程序设计java235.5第八次作业第八次作业框架程序设计java24根据本节课的例子搭建Spring框架并输出内容要求:写实验报告册
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。