Spring简介
1.什么是Spring
spring是分层的JavaSE及JavaEE利用于全栈的轻量级开源框架,以IoC
(Inverse Of Control:管制反转/反转管制)和AOP
(Aspact Oriented Programming:面向切面编程)为外围,提供了体现层SpringMVC和长久层Spring JDBC以及业务层事务管理等泛滥模块的企业级利用技术,还能整合开源世界中泛滥驰名的第三方框架和类库,逐步成为应用最多的JavaEE企业应用开源框架。
2.Spring的劣势
- Spring 无处不在
- Spring 是易扩大的,不便集成各种优良框架
- Spring 不便解耦,易于开发(简化开发)
- Spring 速度快
- Spring 是平安的
- Spring 社区很宏大,备受反对
- Spring框架源码是经典学习范例
环境的搭建
1 创立Maven我的项目
创立好后我的项目工程报错,那是因为短少web.xml文件。所以须要生成web.xml文件。
2 我的项目工程的目录构造
3 增加pom.xml文件(引入junit、spring的jar包)
<dependencies>
<!-- 增加junit的jar包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<!-- 增加spring的jar包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
</dependencies>
4 在applicationContext.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
5 创立UserDao接口
在UserDao接口中增加一个办法
package com.yanan.dao;
/**
* 测试接口
* @author 慕客
*
*/
public interface UserDao {
public void add();
}
6 创立UserDaoImpl实现类
该实现类实现了UserDao接口
package com.yanan.dao.impl;
import com.yanan.dao.UserDao;
/**
* 该实现类实现了UserDao接口
* @author 慕客
*
*/
public class UserDaoImpl implements UserDao{
@Override
public void add() {
System.out.println("UserDaoImpl.add办法执行了......");
}
}
7配置applicationContext.xml文件
将UserDao接口的实现类的实例交给Spring容器创立,在外围配置文件中增加如下内容:
<!-- 将UserDao接口的实现类的实例交给spring创立 -->
<bean id="userDao" class="com.yanan.dao.impl.UserDaoImpl"></bean>
8 创立测试类
9 编写测试类
package com.yanan.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.yanan.dao.UserDao;
import com.yanan.dao.impl.UserDaoImpl;
/**
* 测试类
* @author 慕客
*
*/
public class UserDaoTest {
@Test
public void test1() {
// 定义Spring配置文件的门路
String xmlPath = "applicationContext.xml";
// 初始化 Spring 容器,加载配置文件
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
// 通过 IoC 容器获取 userDao 实例。applicationContext.getBean(全限定类名.class)
UserDao userDaoImpl = (UserDao) applicationContext.getBean(UserDaoImpl.class);
// 调用 UserDao 的 add() 办法
userDaoImpl.add();
}
}
后果展现
由以上代码能够看出,在程序执行时,对象的创立并不是通过 new
一个类实现的,而是由 Spring 容器治理实现的。这就是 Spring IoC 容器思维的工作机制。
发表回复