Spring框架的环境搭建和测试实现
作者:PiHriH_lh 发布时间:2023-10-27 17:57:57
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框架源码是经典学习范例
3.环境的搭建
3.1 创建Maven项目
创建好后项目工程报错,那是因为缺少web.xml文件。所以需要生成web.xml文件。
3.2 项目工程的目录结构
3.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>
3.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>
3.5 创建UserDao接口
在UserDao接口中添加一个方法
package com.yanan.dao;
/**
* 测试接口
* @author 慕客
*
*/
public interface UserDao {
public void add();
}
3.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方法执行了......");
}
}
3.7配置applicationContext.xml文件
将UserDao接口的实现类的实例交给Spring容器创建,在核心配置文件中添加如下内容:
<!-- 将UserDao接口的实现类的实例交给spring创建 -->
<bean id="userDao" class="com.yanan.dao.impl.UserDaoImpl"></bean>
3.8 创建测试类
3.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();
}
}
4 结果展示
由以上代码可以看出,在程序执行时,对象的创建并不是通过 new
一个类完成的,而是由 Spring 容器管理实现的。这就是 Spring IoC 容器思想的工作机制。
来源:https://segmentfault.com/a/1190000037572305


猜你喜欢
- RecyclerView上拉加载,先看效果:网上有很多这类得框架,不过在自己的项目只用到上拉加载的功能,所以自己封装一个简单点的。主要依赖B
- 类的结构包括 :1. 成员变量2. 成员方法3. 构造方法4. 代码块5. 内部类第一 构造方法的作用主要有以下三方面的作用:(1)在构造方
- 目录1.跳转控制语句:区分continue和break; * continue:用于循环中,基于条件控制,跳过某次循环体内容的执行
- 关于Function.identity()的使用简单介绍话不多说,直接上JDK源码:static Function identity() {
- 本文实例讲述了java实现单词搜索迷宫游戏。分享给大家供大家参考。具体分析如下:我们在杂志上,经常能够看到找单词的小游戏,在一个二维表格中,
- 一、Socket 基础知识1.1 Socket 概述Socket 指的是“插座”,是应用层与传输层之
- 加坐标可以使用https://mvnrepository.com/来查找先加以下坐标:使用的数据库介绍:配置连接数据库:spring: &n
- 前言${} 和 #{} 都是 MyBatis 中用来替换参数的,它们都可以将用户传递过来的参数,替换到 MyBatis 最终生成的
- 写在前面在平时的开发之中,我们需要对于数据加载的情况进行展示:空数据网络异常加载中等等情况现在设置页面状态的方式有多种,由于笔者近期一直在使
- Kotlin中的一个伟大创前举就是空指针的处理,在代码的编译阶段就能检测可能出现的空指针问题,示例代码如下:data class Perso
- 本节只是介绍实战部分,具体的理论参数,请自行百度。所需工具:linux服务器 Jmeter测试工具 xshell &
- 前言:上午写代码时还好好的,下午不知道怎么回事突然就不显示logcat日志了,觉得很奇怪,于是开始找各种解决办法!现象如图所示,logcat
- IDEA快速创建getter和setter方法找到generate我的是Mac,右击鼠标就可以打开,相信windows也不难。选择gette
- 众所周知Web服务器与客户端之间的通信是使用HTTP协议的。HTTP是一个客户端和服务器端请求和应答的标准(TCP)。因为HTTP协议是基于
- 摘要在我们使用MyBatis的过程中,如果所有实体类和单表CRUD代码都需要手写,那将会是一件相当麻烦的事情。MyBatis官方代码生成器M
- 使用百度地图出现闪退一般情况下出现闪退是在AndroidManifest.xml文件中未在application标签中配置<meta-
- 今天来学习总结一下,Android 后添加的一些新的组件和UI效果,Material Dialog,SwipeRefreshLayout,L
- 前言MyBatis中也提供了注解式开发⽅式,采⽤注解可以减少Sql映射⽂件的配置。 当然,使⽤注解式开发的话,sql语句是写在java程序中
- 本文实例讲述了C#编程获取各种电脑硬件信息的方法。分享给大家供大家参考,具体如下:获取CPU编号:ManagementClass mc =
- 目录概述c#方法概述在微信支付中,当用户支付成功后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答。接收微信支付异步