Spring學(xué)習(xí)之開(kāi)發(fā)環(huán)境搭建的詳細(xì)步驟
最近搞定了項(xiàng)目,工作終于松了下來(lái),順便有時(shí)間學(xué)習(xí)Spring框架,記錄于此,不足之處,希望大家不吝賜教
Spring的介紹
Spring是一個(gè)輕量級(jí)的Java框架,由于Spring基本提供了全套的開(kāi)發(fā)服務(wù),所以Spring基本上可以應(yīng)用在Java開(kāi)發(fā)中的很多方面,從本周開(kāi)始學(xué)習(xí)Spring框架,順便將自己的學(xué)習(xí)筆記整理出來(lái),以鞏固自己的學(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開(kāi)發(fā)環(huán)境
上面提到了Spring的核心容器是Spring的核心基礎(chǔ),這也就是說(shuō),配置Spring的開(kāi)發(fā)環(huán)境,其實(shí)就是配置Spring的核心容器,也就是上面提到的Spring核心容器的組成部分,接下來(lái)來(lái)搭建一個(gè)可運(yùn)行的,簡(jiǎ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)入依賴之后,接下來(lái)通過(guò)一個(gè)簡(jiǎn)單的小案例來(lái)查看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">
<!--編寫(xiě)對(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)的全限定名-->
接下來(lái)就可以開(kāi)始測(cè)試我們所配置的環(huán)境是否正確了,新建一個(gè)簡(jiǎn)單的測(cè)試類,如下所示
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)入,并且配置文件沒(méi)有填寫(xiě)錯(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è)最簡(jiǎn)單的Spring開(kāi)發(fā)環(huán)境就搭建完成了。
接下來(lái)將完成Spring的學(xué)習(xí),努力中...
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- webuploader在springMVC+jquery+Java開(kāi)發(fā)環(huán)境下的大文件分片上傳的實(shí)例代碼
- Eclipse搭建spring開(kāi)發(fā)環(huán)境圖文教程(推薦)
- 詳解SpringMVC和MyBatis框架開(kāi)發(fā)環(huán)境搭建和簡(jiǎn)單實(shí)用
- spring boot + jpa + kotlin入門(mén)實(shí)例詳解
- 詳解SpringMVC 基礎(chǔ)教程 簡(jiǎn)單入門(mén)實(shí)例
- spring快速入門(mén)實(shí)例教程
- 基于Spring MVC 簡(jiǎn)介及入門(mén)小例子(推薦)
- Java Spring開(kāi)發(fā)環(huán)境搭建及簡(jiǎn)單入門(mén)示例教程
相關(guān)文章
java使用枚舉封裝錯(cuò)誤碼及錯(cuò)誤信息詳解
這篇文章主要介紹了java使用枚舉封裝錯(cuò)誤碼及錯(cuò)誤信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
Spring boot2.x中集成H2數(shù)據(jù)庫(kù)代碼實(shí)例
這篇文章主要介紹了Spring boot2.x中集成H2數(shù)據(jù)庫(kù)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
如何基于java實(shí)現(xiàn)Gauss消元法過(guò)程解析
這篇文章主要介紹了如何基于java實(shí)現(xiàn)Gauss消元法過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
Java使用volatile關(guān)鍵字的注意事項(xiàng)
volatile關(guān)鍵字是Java中的一種稍弱的同步機(jī)制,為什么稱之為弱機(jī)制。這篇文章主要介紹了Java使用volatile關(guān)鍵字的注意事項(xiàng),需要的朋友可以參考下2017-02-02
三種簡(jiǎn)單排序算法(使用java實(shí)現(xiàn))
下面小編就為大家?guī)?lái)一篇三種簡(jiǎn)單排序算法(使用java實(shí)現(xiàn))。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07
java后臺(tái)利用Apache poi 生成excel文檔提供前臺(tái)下載示例
本篇文章主要介紹了java后臺(tái)利用Apache poi 生成excel文檔提供前臺(tái)下載示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05

