Spring學(xué)習(xí)之開發(fā)環(huán)境搭建的詳細(xì)步驟
最近搞定了項(xiàng)目,工作終于松了下來,順便有時(shí)間學(xué)習(xí)Spring框架,記錄于此,不足之處,希望大家不吝賜教
Spring的介紹
Spring是一個(gè)輕量級(jí)的Java框架,由于Spring基本提供了全套的開發(fā)服務(wù),所以Spring基本上可以應(yīng)用在Java開發(fā)中的很多方面,從本周開始學(xué)習(xí)Spring框架,順便將自己的學(xué)習(xí)筆記整理出來,以鞏固自己的學(xué)習(xí),增進(jìn)自己的表達(dá)能力,加深對(duì)Spring的了解
Spring體系結(jié)構(gòu)
Spring的體系結(jié)構(gòu)可以從官方文檔中得知,具體如下所示:
Spring體系結(jié)構(gòu)
從上面的圖片中可以看到,Spring的體系結(jié)構(gòu)是非常清晰的,主要有以下幾個(gè)部分組成
- 核心容器
- Bean
- Core
- Context
- SpEL
- AOP
- AOP
- Aspects
- Instrumentation
- Messaging
- 數(shù)據(jù)持久化
- JDBC
- OXM
- ORM
- JMS
- 事務(wù)管理
- Web容器
- WebSocket
- Servlet
- Web
- Portlet
其中最重要的Spring的核心容器,是整個(gè)Spring的核心基礎(chǔ),其他模塊或多或少都是對(duì)核心模塊的擴(kuò)展
搭建Spring開發(fā)環(huán)境
上面提到了Spring的核心容器是Spring的核心基礎(chǔ),這也就是說,配置Spring的開發(fā)環(huán)境,其實(shí)就是配置Spring的核心容器,也就是上面提到的Spring核心容器的組成部分,接下來來搭建一個(gè)可運(yùn)行的,簡單的Spring環(huán)境
這里使用Maven對(duì)項(xiàng)目進(jìn)行管理,導(dǎo)入對(duì)應(yīng)的依賴,如下所示
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>4.3.7.RELEASE</version> </dependency>
導(dǎo)入依賴之后,接下來通過一個(gè)簡單的小案例來查看Spring是否配置成功
在類路徑下新建一個(gè)資源配置文件beanConfig.xml,內(nèi)容如下所示
<?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"> <!--編寫對(duì)應(yīng)的配置信息--> </beans>
然后新建一POJO對(duì)象,Car.java,具體內(nèi)容如下所示
public class Car { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Car{" + "name='" + name + '\'' + '}'; } }
新建完成之后,在上面的配置文件中補(bǔ)充響應(yīng)的信息
<bean id="car" class="cn.xuhuanfeng.domain.Car"/> <!--id是所創(chuàng)建對(duì)象的名字,class是所創(chuàng)建對(duì)象的類對(duì)應(yīng)的全限定名-->
接下來就可以開始測試我們所配置的環(huán)境是否正確了,新建一個(gè)簡單的測試類,如下所示
public class SpringTest{ @Test public void testSpring(){ // 加載對(duì)應(yīng)的Spring配置信息 ApplicationContext context = new ClassPathXmlApplicationContext("beanConfig.xml"); // 從容器中獲取對(duì)象 Car car = (Car) context.getBean("car"); System.out.println(car); } }
如何依賴正確導(dǎo)入,并且配置文件沒有填寫錯(cuò)誤的話,可以看到下面的輸出內(nèi)容
七月 08, 2017 8:33:14 上午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh 信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@68fb2c38: startup date [Sat Jul 08 08:33:14 CST 2017]; root of context hierarchy 七月 08, 2017 8:33:15 上午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 信息: Loading XML bean definitions from class path resource [beanConfig.xml] Car{name='null'}
至此,一個(gè)最簡單的Spring開發(fā)環(huán)境就搭建完成了。
接下來將完成Spring的學(xué)習(xí),努力中...
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- webuploader在springMVC+jquery+Java開發(fā)環(huán)境下的大文件分片上傳的實(shí)例代碼
- Eclipse搭建spring開發(fā)環(huán)境圖文教程(推薦)
- 詳解SpringMVC和MyBatis框架開發(fā)環(huán)境搭建和簡單實(shí)用
- spring boot + jpa + kotlin入門實(shí)例詳解
- 詳解SpringMVC 基礎(chǔ)教程 簡單入門實(shí)例
- spring快速入門實(shí)例教程
- 基于Spring MVC 簡介及入門小例子(推薦)
- Java Spring開發(fā)環(huán)境搭建及簡單入門示例教程
相關(guān)文章
學(xué)習(xí)Java設(shè)計(jì)模式之觀察者模式
這篇文章主要為大家介紹了Java設(shè)計(jì)模式中的觀察者模式,對(duì)Java設(shè)計(jì)模式感興趣的小伙伴們可以參考一下2016-01-01java實(shí)現(xiàn)簡單汽車租賃系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡單汽車租賃系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01基于Spring@Autowired注解與自動(dòng)裝配詳談
下面小編就為大家?guī)硪黄赟pring@Autowired注解與自動(dòng)裝配詳談。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10Kotlin中l(wèi)et、run、with、apply及also的用法和差別
作用域函數(shù)是Kotlin比較重要的一個(gè)特性,分為5種let、run、with、apply及also,這五個(gè)函數(shù)的工作方式非常相似,但是我們需要了解這5種函數(shù)的差異,以便在不同的場景更好的利用它,這篇文章主要介紹了Kotlin中l(wèi)et、run、with、apply及also的差別,需要的朋友可以參考下2023-11-11淺談Java中ThreadLocal引發(fā)的內(nèi)存泄漏
本文主要介紹了淺談Java中ThreadLocal引發(fā)的內(nèi)存泄漏,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06Spring?Boot實(shí)現(xiàn)微信掃碼登錄功能流程分析
這篇文章主要介紹了Spring?Boot?實(shí)現(xiàn)微信掃碼登錄功能,介紹了授權(quán)流程代碼和用戶登錄和登出的操作代碼,代碼簡單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04