一、Spring
Spring是一个轻量级的框架,相当于一个平台性质,大大简化了Java企业级应用的开发,提供了强大的、稳定的功能。Spring框架大约由20个功能模块组成,这些模块被分为6个部分,如图所示:
Spring Core是最基础部分,提供了IOC特性;Spring AOP是基于Spring Core的符合规范的面向切面编程的实现。
Spring IOC容器是Spring最核心的部分,IOC(Inversion of Control),控制反转,也被称为依赖注入,是面向对象编程中的一种设计理念,用来降低程序代码之间的耦合度。通俗点讲,在实际应用中,多个类之间需要互相依赖才能完成某些特定的业务,而依赖注入就是以配置文件的方式来维护类与类之间的关系,而非硬编码,从而降低了系统之间的耦合,增大了可维护性。
二、搭建环境
先来一个简单的HelloWorld1.下载spring的jar包:http://projects.spring.io/spring-framework/(本文使用的是4.1.4的版本)
2.创建普通的java项目(不一定非得是web项目,简单起见)
3.添加jar包:
spring-aop-4.1.4.RELEASE.jar
spring-beans-4.1.4.RELEASE.jar
spring-context-4.1.4.RELEASE.jar
spring-context-support-4.1.4.RELEASE.jar
spring-core-4.1.4.RELEASE.jar
spring-expression-4.1.4.RELEASE.jar
commons-logging.jar//此jar包为第三方类库,需要自行下载
4.src下创建spring-config.xml文件(名字可以自己取),创建Student类、test类
(1)Student类:
package com.wzj.entity;
public class Student {
private int id;
private String name;
//省略get、set方法
//为了方便显示,重写了toString方法
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + "]";
}
}
(2)spring-config.xml文件的配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-4.0.xsd
http://www.springframework.org/schema/p
http://www.springframework.org/schema/p/spring-p-4.0.xsd">
<!-- 以这种方式来声明Student类的实例 -->
<bean id="student" class="com.wzj.entity.Student">
<!-- 为Student对象的属性赋值 -->
<property name="id" value="1"/>
<property name="name" value="张三"/>
</bean>
</beans>
(3)test类:
package com.wzj.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.wzj.entity.Student;
public class Test {
public static void main(String[] args) {
//通过ApplicationContext接口的实现类实例化Spring上下文对象
ApplicationContext context=new ClassPathXmlApplicationContext("spring-config.xml");
//通过getBean()方法来获取到Student类的对象
Student student=(Student)context.getBean("student");
System.out.println(student);
}
}