最近搞定了項(xiàng)目,工作終于松了下來(lái),順便有時(shí)間學(xué)習(xí)Spring框架,記錄于此,不足之處,希望大家不吝賜教
Spring的介紹
Spring是一個(gè)輕量級(jí)的Java框架,由于Spring基本提供了全套的開發(fā)服務(wù),所以Spring基本上可以應(yīng)用在Java開發(fā)中的很多方面,從本周開始學(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開發(fā)環(huán)境
上面提到了Spring的核心容器是Spring的核心基礎(chǔ),這也就是說(shuō),配置Spring的開發(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)的依賴,如下所示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
< 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)通過一個(gè)簡(jiǎn)單的小案例來(lái)查看Spring是否配置成功
在類路徑下新建一個(gè)資源配置文件beanConfig.xml,內(nèi)容如下所示
1
2
3
4
5
6
7
8
9
|
<? 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)容如下所示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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)的信息
1
2
|
< bean id = "car" class = "cn.xuhuanfeng.domain.Car" /> <!--id是所創(chuàng)建對(duì)象的名字,class是所創(chuàng)建對(duì)象的類對(duì)應(yīng)的全限定名--> |
接下來(lái)就可以開始測(cè)試我們所配置的環(huán)境是否正確了,新建一個(gè)簡(jiǎn)單的測(cè)試類,如下所示
1
2
3
4
5
6
7
8
9
10
11
|
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)容
1
2
3
4
5
|
七月 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開發(fā)環(huán)境就搭建完成了。
接下來(lái)將完成Spring的學(xué)習(xí),努力中...
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://www.jianshu.com/p/9edddba69e0e