SSM开发实战教程(Spring+Spring MVC+Mybatis) 第4章 Spring入门
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//使用bean
login.show();
}
其中Login login=(Login)context.getBean("login")用于获 取配置文件中创建好了的Login类的实例化对象login,也 是说测试类Test无须再自已创建Login类的对象,配置文 件已经帮它创建好了,只需拿过来用就行。对比下不使 用spring时的测试类代码:
Spring还提供对其他框架的支持,可以支持 MyBatis,Hibernate,struts等框架,简化这些框架使用, 通过整合使它们高效地协同工作。
4.1.1 Spring体系结构
Spring有七大功能模块,分别是Spring Core、AOP、 ORM、DAO、MVC、WEB和Context。 Spring体系架 构如图4.1所示。
//读取配置文件
ApplicationContext context=new
ClassPathXmlApplicationContext("applicationContext.x ml");
//从配置文件中获取实例bean
Login login=(Login)
context.getBean("login");
<!-- 相当于传统的 Login login =new Login() --> <bean id="login" class="com.lifeng.Login"/> </beans>
(4)创建测试类Test,关键代码如下。
public static void main(String[] args) {
4.1.2 Spring的开发环境
需要先到官网下载Spring的jar包,网址 http://spring.io,本书用到的是Spring4.3.4版本,请 下载spring-framework-4.3.4.RELEASE-dist.zip这个压 缩文件,解压后,其中的libs文件夹下有很多jar包,拷贝 其中的部分jar包以及另外下载commons-logging1.2.jar包.导入这些jar包到项目中,如图所示
this.name = name; } public void show(){
System.out.println(name+"你好!欢迎你登录!"); } }
(3)创建Spring配置文件apllicationContext.xml。 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"
(1)创建Dynamic Web Project项目spring1,导入jar包,所需jar包如图所示。 (2)创建包com.lifeng,包下创建类Login。 public class Login {
private String name; public String getName() {
return name; } public void setName(String name) {
SSM开发实战教程
第4章 Spring入门
4.1 Spring概述
Spring是为了解决企业应用开发的复杂性而创建的一 个轻量级的Java开发框架。Spring的核心是控制反转 (IoC)和面向切面编程(AOP)。传统的Java程序, 类与类之间存在较强的依赖关系,增加了程序开发的 难度,开发某一个类的时候还要考虑对另一个类的 影响,一个类的修改往往导致另一个类不得不跟着 要修改,程序可维护性和可拓展性变差。使用Spring 可以降低代码间的依赖程度(耦合度),为代码 “解耦”,提高程序的可拓展性、可复用性和可维 护性,使主业务专注于自身的开发。
第一次测试结果:
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
Spring降低耦合度的方式有两种:IoC 与 AOP。IoC 是控制反转的意思,它的作用是使得主业务在相互 调用过程中,不用再自己维护关系,即无须自己创 建要使用的对象了,而是由Spring容器统一管理,自 动“注入”。AOP是面向切面编程的意思, AOP技 术不用再由程序员用硬编码的方式将系统级服务 “混杂”到主业务逻辑中了,而是由Spring 容器统 一完成“织入”。
public static void main(String[] args) {
Login login=new Login();
login.show();
}
他们有个本质的区别,就是测试类Test需要自行创建 Login类的对象,使Test类依赖于Login类,而使用了 spring的测试类Test则无须自行创建Login类的对象, 而是spring已帮它创建好了,Test类不再直接依赖于 Login类。
4.2 第一个源自文库pring 程序
项目案例:之前大家在一个类中调用另一个类都是 在本类中先new一个要调用的另一个类对象,再调用 其方法,这次用spring实现一个类中不new 另一个类 的对象也能调用到另一个类。(项目源码见本书配 套源码: 第4章/第一个spring程序/spring1)
思路分析:用到spring的控制反转,一个类无须自已 创建另一个类的对象(实例),而是通过spring容器 来构建另一个类的实例。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/springbeans.xsd">