一、Spring介绍
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来
说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。
二.IOC控制反转和DI依赖注入
简单来说,就是将原来由我们实例化的对象,交由spring框架来进行实例化.这是对象的实例化的权利就会反转.
IOC 的思想是:用框架的方式替代耦合度高的 new 构造方法();的形式创建对象
这样可以在需要的时候去创建,不需要的时候销毁, 统一管理, 节约资源, 提高效率
DI 的思想是:Spring框架替我们完成属性赋值的操作
三、Spring分为配置版和注释版
1、配置版
(1)pom.xml配置spring依赖
<!--注意:spring框架有四个核心:web core context bean-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
<!--test是spring框架自带的测试配置文件,如果不插入此配置文件,可能影响测试效果-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
(2)配置applicationContext.xml文件
注意此文件最好放在resources这资源文件下
<?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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--利用反射的原理,创建service的实例对象 体现出IOC:控制反转-->
<bean id="service" class="com.kgc.service.ToursService">
<!--调用set方法,为属性dao赋值 体现出DI:依赖注入-->
<property name="dao" ref="dao"/>
</bean>
<!--创建dao的实例对象-->
<bean id="dao" class="com.kgc.dao.ToursDaoImpl"></bean>
</beans>
(3).Service实现类
public class ToursService {
private IToursDao dao;
//配置版需要提供set方法
public IToursDao getDao() {
return dao;
}
public void setDao(IToursDao dao) {
this.dao = dao;
}
//调用dao的add方法
public void add(Toursinfo tours){
dao.add(tours);
}
(4).Dao的实现类
注意必须必须加上set方法,否则dao无法注入
public class ToursDaoImpl implements IToursDao {
@Override
public void add(Toursinfo tours) {
System.out.println("模拟实现新增");
System.out.println(tours);
}
}
(5)web测试类
public class TestSpring{
@Test
public void test1(){
//1.加载spring配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//2.实例化service这个bean
ToursService service = (ToursService) context.getBean("service");
Toursinfo t = new Toursinfo();
t.setIntroduce("魅力中国");
//3.调用add方法
service.add(t);
}
}
以上是spring框架的配置版,下一篇是spring框架的注解版