當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring Session官方介绍及spring框架学习方法
生活随笔
收集整理的這篇文章主要介紹了
Spring Session官方介绍及spring框架学习方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
現在我們開始講Spring Session,首先進入maven中央倉庫,在百度查一下,如何替換成阿里云的倉庫就OK了,我們搜索什么呢,spring-session-data-redis,這里面找到這個包了
然后我們點擊這個all,我們要拿的是1.2.0的版本,也就是1.2.0這個version,然后把這個xml復制一下,<!-- https://mvnrepository.com/artifact/org.springframework.session/spring-session-data-redis -->
<dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-data-redis</artifactId><version>1.2.0.RELEASE</version>
</dependency>因為我們在nginx上測試是OK的,可以看到對應的jar包已經下載下了,spring data redis依賴的還有這些,就全部下載下來了,那我們現在來介紹一下Spring Session,首先從他的官網開始,我們進入spring.io這么一個網址https://spring.io/然后上邊有一個projects,我們點擊他https://spring.io/projects往下找,這里面都是Spring的各種項目,有一個Spring Session,我們點擊他,那么這個時候呢https://spring.io/projects/spring-session就進入到了Spring Session的官網,這里面有一個quick start在這里面可以下載,有maven的訪問方式,我們是使用maven的使用方式,這里面還有各種版本,后面帶snap shot就是快照版本,并不是正式版,我們點開第一個HttpSession and Redis,然后呢來到了這個網址https://docs.spring.io/spring-session/docs/current/reference/html5/guides/java-redis.html這網址就是快速啟動,這里面就是快速開始的一個介紹,官方提供的是lettuce這種方式,pom.xml
<dependencies><!-- ... --><dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-data-redis</artifactId><version>2.1.7.RELEASE</version><type>pom</type></dependency><dependency><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactId><version>5.1.7.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.1.8.RELEASE</version></dependency>
</dependencies>包括往下看,里邊用的是LettuceConnectionFactory@EnableRedisHttpSession
public class Config {@Beanpublic LettuceConnectionFactory connectionFactory() {return new LettuceConnectionFactory(); }
}
這里面注意一下https://docs.spring.io/spring-session/docs/current/reference/html5/guides/java-redis.html當我們把后面兩個刪除,只留到html5的時候https://docs.spring.io/spring-session/docs/current/reference/html5/就是Spring Session的一個文檔,介紹在1.3里面有哪些東西,例子,還有Http Session的各種集成方式,Redis,JDBC,Mongo,下面還有API文檔,還有Spring Session的一個社區,安全方面的,WebSocket方面的,那其實Spring Session非常強大,我們先看一下API Documentation,這里面有一個RedisOperationsSessionRepository,Redis操作的一個說明,那這里面用的例子是Lettuce,有各種參數的一個介紹,存儲的詳情,HMSET,M是多個,首先這里面會set這么多值HMSET spring:session:sessions:33fdd1b6-b496-4b33-9f7d-df96679d32fe creationTime 1404360000000 \maxInactiveInterval 1800 \lastAccessedTime 1404360000000 \sessionAttr:attrName someAttrValue \sessionAttr2:attrName someAttrValue2
EXPIRE spring:session:sessions:33fdd1b6-b496-4b33-9f7d-df96679d32fe 2100
APPEND spring:session:sessions:expires:33fdd1b6-b496-4b33-9f7d-df96679d32fe ""
EXPIRE spring:session:sessions:expires:33fdd1b6-b496-4b33-9f7d-df96679d32fe 1800
SADD spring:session:expirations:1439245080000 expires:33fdd1b6-b496-4b33-9f7d-df96679d32fe
EXPIRE spring:session:expirations1439245080000 2100然后再expire一下,相信我說這些命令的時候,官方文檔寫的是非常清楚的,這里面說了,在這個例子中,這個sessionId呢,這個session是在什么時候創建的,以毫秒為計時,然后從1970年1月1日的半夜,也就是說,0點開始計算的,到現在的一個毫秒數,然后session的有效期是1800秒,也就是30分鐘,那和我們項目中,默認的時間是一致的,然后是session最后會訪問的時間,也是毫秒數,從1970年1月1號到現在的,然后這個session有兩個屬性,后面的說明就是說明這兩個屬性的In the preceding example, the following statements are true about the session:The session ID is 33fdd1b6-b496-4b33-9f7d-df96679d32fe.The session was created at 1404360000000 (in milliseconds since midnight of 1/1/1970 GMT).The session expires in 1800 seconds (30 minutes).The session was last accessed at 1404360000000 (in milliseconds since midnight of 1/1/1970 GMT).The session has two attributes. The first is attrName, with a value of someAttrValue.The second session attribute is named attrName2, with a value of someAttrValue2.然后我們看一下Spring Session的一個社區,然后這里有源碼,12.2. Source CodeYou can find the source code on GitHub at https://github.com/spring-projects/spring-session/然后我們點擊進入Spring github,進入Spring Session的源碼,當然默認master就是1.3.1版本,然后我們點擊Branch,因為我們要引入的是1.2.0,那進入這里之后啊,文檔,下面還有各種集成的方式,主要看samples,這個就是spring session1.2.x的各種例子https://github.com/spring-projects/spring-session/tree/1.2.x/samples里邊非常全面,包括custom-cookie,因為我們開始實現的就是custom-cookie,里面的值就是JSESSIONID,當然我們不使用JSESSIONID也是OK的,我們可以使用一個自己生成的UUID,只要記錄到我們指定的cookie上就可以了,下邊還有各種集成的方式,包括xml,jdbc,還有mongo,還有rest,下邊還有一個websocket
?
總結
以上是生活随笔為你收集整理的Spring Session官方介绍及spring框架学习方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Session快速入门
- 下一篇: Spring Session实战