1. Spring简介
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
2. Spring的优势
1.方便解耦, 简化开发: 通过Spring提供的IOC容器, 可以将对象间的依赖关系交由Spring进行控制, 避免硬编码所造成的过度耦合。
2.AOP编程的支持: 通过AOP功能方便进行面向切面编程, 许多不容易用传统OOP实现的功能可以通过AOP轻松实现。
3.声明式事物编程: 通过声明方式灵活的进行事务管理, 提高开发效率和质量。
4.方便程序测试: 可以用非容器依赖的编程方式进行几乎所有的测试工作。
3. 搭建开发环境
3.1 创建项目
使用IDEA + Maven搭建。
-
File –> new Project 。
选择Maven, 然后next。

4. 根据需要设置一些参数,然后点Finish。
Name: 项目名称。
Location: 存储路径。
GroupId: 项目组织名称, 通常是域名。
ArtifactId: 项目名称。
Version: 版本。

3.2 编写测试用例
在pom.xml中添加Spring和junit的依赖。
<dependencies>
<!--
scope: 依赖范围, 有以下几种:
1. compile,可以不写,默认的范围,适用于所有阶段,会随着项目一起发布。
2. provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
3. runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
4. test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
5. system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
-->
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
<!-- junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
编写Java代码
// UserDao接口
public interface UserDao
{
public void selectUser();
}
// UserDao实现类
public class UserDaoImpl implements UserDao
{
public void selectUser()
{
System.out.println("UserDaoImpl.selectUser()");
}
}
编写Spring配置文件
<?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">
<!-- 这个配置相当于UserDao userDao = new UserDaoImpl(); -->
<bean id="userDao" class="spring.dao.impl.UserDaoImpl"></bean>
</beans>
编写测试用例
// 测试类
public class UserDaoTest
{
@Test
public void test()
{
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao = (UserDao) factory.getBean("userDao");
userDao.selectUser();
}
}
运行测试用例

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)