IDEA+Maven搭建Spring環(huán)境的詳細(xì)教程
1. Spring簡介
Spring是一個(gè)輕量級(jí)控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。
2. Spring的優(yōu)勢(shì)
1.方便解耦, 簡化開發(fā): 通過Spring提供的IOC容器, 可以將對(duì)象間的依賴關(guān)系交由Spring進(jìn)行控制, 避免硬編碼所造成的過度耦合。
2.AOP編程的支持: 通過AOP功能方便進(jìn)行面向切面編程, 許多不容易用傳統(tǒng)OOP實(shí)現(xiàn)的功能可以通過AOP輕松實(shí)現(xiàn)。
3.聲明式事物編程: 通過聲明方式靈活的進(jìn)行事務(wù)管理, 提高開發(fā)效率和質(zhì)量。
4.方便程序測(cè)試: 可以用非容器依賴的編程方式進(jìn)行幾乎所有的測(cè)試工作。
3. 搭建開發(fā)環(huán)境
3.1 創(chuàng)建項(xiàng)目
使用IDEA + Maven搭建。
- File --> new Project 。
- 選擇Maven, 然后next。

4. 根據(jù)需要設(shè)置一些參數(shù),然后點(diǎn)Finish。
Name: 項(xiàng)目名稱。
Location: 存儲(chǔ)路徑。
GroupId: 項(xiàng)目組織名稱, 通常是域名。
ArtifactId: 項(xiàng)目名稱。
Version: 版本。

3.2 編寫測(cè)試用例
在pom.xml中添加Spring和junit的依賴。
<dependencies>
<!--
scope: 依賴范圍, 有以下幾種:
1. compile,可以不寫,默認(rèn)的范圍,適用于所有階段,會(huì)隨著項(xiàng)目一起發(fā)布。
2. provided,類似compile,期望JDK、容器或使用者會(huì)提供這個(gè)依賴。如servlet.jar。
3. runtime,只在運(yùn)行時(shí)使用,如JDBC驅(qū)動(dòng),適用運(yùn)行和測(cè)試階段。
4. test,只在測(cè)試時(shí)使用,用于編譯和運(yùn)行測(cè)試代碼。不會(huì)隨項(xiàng)目發(fā)布。
5. system,類似provided,需要顯式提供包含依賴的jar,Maven不會(huì)在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實(shí)現(xiàn)類
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">
<!-- 這個(gè)配置相當(dāng)于UserDao userDao = new UserDaoImpl(); -->
<bean id="userDao" class="spring.dao.impl.UserDaoImpl"></bean>
</beans>
編寫測(cè)試用例
// 測(cè)試類
public class UserDaoTest
{
@Test
public void test()
{
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao = (UserDao) factory.getBean("userDao");
userDao.selectUser();
}
}
運(yùn)行測(cè)試用例

到此這篇關(guān)于IDEA+Maven搭建Spring環(huán)境的詳細(xì)教程的文章就介紹到這了,更多相關(guān)IDEA+Maven搭建Spring環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中@DateTimeFormat @JsonFormat失效原因及測(cè)試填坑
本文主要介紹了Java中@DateTimeFormat @JsonFormat失效原因及測(cè)試填坑,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
java阻塞隊(duì)列BlockingQueue詳細(xì)解讀
這篇文章主要介紹了java阻塞隊(duì)列BlockingQueue詳細(xì)解讀,在新增的Concurrent包中,BlockingQueue很好的解決了多線程中,如何高效安全“傳輸”數(shù)據(jù)的問題,通過這些高效并且線程安全的隊(duì)列類,為我們快速搭建高質(zhì)量的多線程程序帶來極大的便利,需要的朋友可以參考下2023-10-10
springBoot基于webSocket實(shí)現(xiàn)掃碼登錄
最近做了個(gè)新項(xiàng)目,涉及到掃碼登錄。之前項(xiàng)目使用的是 ajax輪詢的方式。感覺太low了。所以這次用webSocket的方式進(jìn)行實(shí)現(xiàn),感興趣的可以了解一下2021-06-06
SpringBoot請(qǐng)求響應(yīng)方式示例詳解
這篇文章主要介紹了SpringBoot請(qǐng)求響應(yīng)的相關(guān)操作,本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-06-06
SpringSecurity從數(shù)據(jù)庫中獲取用戶信息進(jìn)行驗(yàn)證的案例詳解
這篇文章主要介紹了SpringSecurity從數(shù)據(jù)庫中獲取用戶信息進(jìn)行驗(yàn)證的案例詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
java枚舉enum,根據(jù)value值獲取key鍵的操作
這篇文章主要介紹了java枚舉enum,根據(jù)value值獲取key鍵的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02

