IDEA+Maven搭建Spring环境的详细教程
作者:孤云 发布时间:2023-11-25 07:50:34
标签:IDEA,Maven,Spring
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();
}
}
运行测试用例
来源:https://blog.csdn.net/ZY4444444/article/details/109524051


猜你喜欢
- 对于本地图片我们可以通过selector来轻松的实现点击态。 但是在我们的项目中,一个关于对非本地图片的点击态实现还是难倒了不少人;因此专门
- 前言最近数据库大作业要连接数据库,看了很多博客文章终于连接好了,但是没有看到一篇博客是能直接连接完成的,所以在这记录一下希望能帮助大家sql
- 本文实例为大家分享Winform版计算器的具体实现方法,供大家参考,具体内容如下前台页面设计后台代码实现using System;using
- 事件缘由:一个主项目“图说美物”,另外一个子功能是品牌商的入驻功能,是跟主项目分开的项目,为了共享登录的用户信息,而实现session共享,
- 这里文章写出来并不是为了炫耀什么,只是觉得发现些好东西就分享出来而已,同时也做个记录,方便以后查找开始正文1、先介绍本文会用到的window
- 众所周知Web服务器与客户端之间的通信是使用HTTP协议的。HTTP是一个客户端和服务器端请求和应答的标准(TCP)。因为HTTP协议是基于
- Spring @Cacheable指定失效时间新版本配置@Configuration@EnableCachingpublic class R
- BeanPostProcessor接口作用:如果我们想在Spring容器中完成bean实例化、配置以及其他初始化方法前后要添加一些自己逻辑处
- 本文主要探究的是关于Bean的作用域、生命周期的相关内容,具体如下。Bean的作用域Spring 3中为Bean定义了5中作用域,分别为si
- 本文研究的主要是Flask实现异步非阻塞请求功能,具体实现如下。最近做物联网项目的时候需要搭建一个异步非阻塞的HTTP服务器,经过查找资料,
- 用C++流成员函数put输出单个字符在程序中一般用cout和插入运算符“<<”实现输出,cout流在内存中有相应的缓冲区。有时用
- 说明Flutter原生是没有支持数据库操作的,它使用SQLlit插件来使应用具有使用数据库的能力。其实就是Flutter通过插件来与原生系统
- 前言之前实现过《Android可签到的日历控件》的功能,跟这篇一样都是实现签到打卡功能,这篇实现的是按月进行打卡做标识,本篇内容实现的按周进
- 这里使用的是dynamic-datasource-spring-boot-starter ,它是一个基于springboot的快速集成多数据
- Android中实现定时器的四种方式第一种方式利用Timer和TimerTask1、继承关系java.util.Timer基本方法sched
- 虽然闭包主要是函数式编程的玩意儿,而C#的最主要特征是面向对象,但是利用委托或lambda表达式,C#也可以写出具有函数式编程风味的代码。同
- 相关阅读C#使用LINQ查询操作符实例代码(一)C#使用LINQ查询操作符实例代码(二)示例业务背景介绍示例参考《C#高级编程(第六版)》L
- 单例模式为什么要用单例确保某个类只有一个对象,常用于访问数据库操作,服务的配置文件等。单例的关键点1、默认构造函数为private,复制构造
- 背景前些天遇到一个需求,在没有第三方源码的情况下,刷新一个第三方UI,并且拦截到其ajax请求的返回结果。当结果为AVALIABLE的时候,
- 一、项目简述功能包括: 分为管理员及普通业主角色,业主信息,社区房屋,维护 管理,社区车辆,社区投诉,社区缴费,社区业务信息维 护等等功能。