1. 程式人生 > >Spring Boot 入門教程學習 (按照spring boot官方文件和自己理解整理)

Spring Boot 入門教程學習 (按照spring boot官方文件和自己理解整理)

  1. 建立Spring Boot maven專案
    1.   1. 在spring 官網中建立專案到本地

  首先選擇maven project  java 之後 填寫 group id Artifactid  完成之後,  點選 generate Project 生成本地專案。 

  1. 2.eclipse IDE中匯入剛才建立到本地的專案 

   

    具體過程: 在project explorer空白處右鍵,點選import  選擇 Existing Maven Project 點選next 選擇在spring boot中建立的本地化的專案,匯入進入。基於pom.xml檔案會自動將依賴jar包下載到本地的倉庫中。具體如何在project 建立本地maven倉庫,請自行百度解決。

   匯入後,專案目錄結構為:

其中,

  • src/main/java 程式開發以及主程式入口

  • src/main/resources 配置檔案

  • src/test/java 測試程式

另外,spingboot建議的目錄結果如下:

root package結構:com.example.myproject

com

  +- example

    +- myproject

      +- Application.java

      |

      +- domain

      |  +- Customer.java

      |  +- CustomerRepository.java

      |

      +- service

      |  +- CustomerService.java

      |

      +- controller

      |  +- CustomerController.java

      |

  1. Application.java 建議放到根目錄下面,主要用於做一些框架配置

  2. domain目錄主要用於實體(Entity)與資料訪問層(Repository)

  3. service 層主要是業務類程式碼

  4. controller 負責頁面訪問控制

1.3.引入web模組 執行spring程式

1、pom.xml中新增支援web的模組:

<dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-web</artifactId>

 </dependency>

pom.xml檔案中預設有兩個模組:

spring-boot-starter :核心模組,包括自動配置支援、日誌和YAML;

spring-boot-starter-test :測試模組,包括JUnit、Hamcrest、Mockito。

編寫controller內容:

@RestController

public class HelloWorldController {

    @RequestMapping("/hello")

    public String index() {

        return "Hello World";

    }

}

@RestController 的意思就是controller裡面的方法都以json格式輸出,不用再寫什麼jackjson配置的了!

3、啟動主程式,開啟瀏覽器訪問http://localhost:8080/hello,就可以看到效果了,有木有很簡單!

簡單看一下主程式的程式碼:

一個主程式java執行的程式碼: SpringApplication.run(Application.class,args);

一個控制層的控制器程式碼:

@RestController
public class HelloWorldController {
	@RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }
}

簡單的用spring mvc 的requestMapper(“/hello");  以及返回值 helloWorld 

  1. Spring boot 的web綜合開發

  • web中的json開發

在以前的spring 開發的時候需要我們提供json介面的時候需要做那些配置呢?

  • 新增 jackjson 等相關jar包

  • 配置spring controller掃描

  • 對接的方法新增@ResponseBody

就這樣我們會經常由於配置錯誤,導致406錯誤等等,spring boot如何做呢,只需要類新增 @RestController 即可,預設類中的方法都會以json的格式返回。

    @RestController

    public class HelloWorldController {

        @RequestMapping("/getUser")

        public User getUser() {

            User user=new User();

            user.setUserName("小明");

            user.setPassWord("xxxx");

            return user;

        }

    }

 如果我們需要使用頁面開發只要使用 @Controller ,下面會結合模板來說明。

執行一下 結果自然出來了;

  •  自定義Filter開發

我們常常在專案中會使用filters用於錄呼叫日誌、排除有XSS威脅的字元、執行許可權驗證等等。Spring Boot自動添加了OrderedCharacterEncodingFilter和HiddenHttpMethodFilter,並且我們可以自定義Filter。

兩個步驟:

  1. 實現Filter介面,實現Filter方法 與傳統的Filter 的實現過程一樣  實現Filter 過濾器 重寫 init() destroy() doFilter(request,response,chainFilter);  

  2. 新增@Configurationz 註解,將自定義Filter加入過濾鏈

其實是寫一個類 使用@Configuration  註解

  獲取RemoteIpFIlter 物件   將自定義FIlter 在FilterRegistrationBean中註冊 

具體實現程式碼如下:

package spring.demo.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyFilter implements Filter{

	@Override
	public void destroy() {
		// TODO Auto-generated method stub
		System.out.println("過濾器的銷燬");
	}

	@Override
	public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain filterChain)
			throws IOException, ServletException {
		// TODO Auto-generated method stub
		
	    HttpServletRequest request = (HttpServletRequest) arg0;
	    HttpServletResponse response = (HttpServletResponse)arg1;
        System.out.println("this is MyFilter,url :"+request.getRequestURI());
        filterChain.doFilter(request, response);
		
		
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
		System.out.println("過濾器的初始化");
	}

}
package spring.demo.filter;

import org.apache.catalina.filters.RemoteIpFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class WebConfiguration {
	@Bean
	public RemoteIpFilter remoteIpFilter() {
        return new RemoteIpFilter();
    }
	@Bean
	 public FilterRegistrationBean testFilterRegistration() {
	        FilterRegistrationBean registration = new FilterRegistrationBean();
	        registration.setFilter(new MyFilter());
	        registration.addUrlPatterns("/*");
	        //registration.addInitParameter("paramName", "paramValue");
	        registration.setName("MyFilter");
	        registration.setOrder(1);
	        return registration;
	    }
}
  • 自定義Property

  在web開發過程中,我經常需要自定義一些配置檔案,如何使用?

自定義配置類

spring boot使用application.properties默認了很多配置。但需要自己新增一些配置的時候,我們應該怎麼做呢。

若繼續在application.properties中新增

如:

1.     wisely2.name=wyf2  

2.     wisely2.gender=male2  

定義配置類:

1.     @ConfigurationProperties(prefix = "wisely2")  

2.     public class Wisely2Settings {  

3.         private String name;  

4.         private String gender;  

5.         public String getName() {  

6.             return name;  

7.         }  

8.         public void setName(String name) {  

9.             this.name = name;  

10.       }  

11.       public String getGender() {  

12.           return gender;  

13.       }  

14.       public void setGender(String gender) {  

15.           this.gender = gender;  

16.       }  

18.   } 

若新用新的配置檔案

如我新建一個wisely.properties

1.     wisely.name=wangyunfei  

2.     wisely.gender=male  

需定義如下配置類

1.     @ConfigurationProperties(prefix = "wisely",locations = "classpath:config/wisely.properties")  

2.     public class WiselySettings {  

3.         private String name;  

4.         private String gender;  

5.         public String getName() {  

6.             return name;  

7.         }  

8.         public void setName(String name) {  

9.             this.name = name;  

10.       }  

11.       public String getGender() {  

12.           return gender;  

13.       }  

14.       public void setGender(String gender) {  

15.           this.gender = gender;  

16.       }  

17.     

18.   }  

最後注意在spring Boot入口類加上@EnableConfigurationProperties

1.     @SpringBootApplication  

2.     @EnableConfigurationProperties({WiselySettings.class,Wisely2Settings.class})  

3.     public class DemoApplication {  

4.       

5.         public static void main(String[] args) {  

6.             SpringApplication.run(DemoApplication.class, args);  

7.         }  

8.     }  

使用定義的properties

1.     @Controller  

2.     public class TestController {  

3.         @Autowired  

4.         WiselySettings wiselySettings;  

5.         @Autowired  

6.         Wisely2Settings wisely2Settings;  

7.       

8.         @RequestMapping("/test")  

9.         public @ResponseBody String test(){  

10.           System.out.println(wiselySettings.getGender()+"---"+wiselySettings.getName());  

11.           System.out.println(wisely2Settings.getGender()+"==="+wisely2Settings.getGender());  

12.           return "ok";  

13.       }   

14.   }  

    @Component

    public class NeoProperties {

        @Value("${com.neo.title}")

        private String title;

        @Value("${com.neo.description}")

        private String description;

     

        //省略getter settet方法

     

    }

 LOG的配置 

    logging.path=/user/local/log

    logging.level.com.favorites=DEBUG

    logging.level.org.springframework.web=INFO

    logging.level.org.hibernate=ERROR

path為本機的log地址,logging.level 後面可以根據包路徑配置不同資源的log級別。

一般日誌有四種輸出級別 debug -> info -> error -> fatel 

開發環境一般設定的是debug  上線環境 一般設定為info

  • 資料庫操作

在這裡我重點講述mysql、spring data jpa的使用,其中mysql 就不用說了大家很熟悉,jpa是利用Hibernate生成各種自動化的sql,如果只是簡單的增刪改查,基本上不用手寫了,spring內部已經幫大家封裝實現了。

下面簡單介紹一下如何在spring boot中使用。

 步驟

  1.新增相關jar包


    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-data-jpa</artifactId>

    </dependency>

     <dependency>

        <groupId>mysql</groupId>

        <artifactId>mysql-connector-java</artifactId>

    </dependency>

 2.新增相關的配置資訊  

    spring.datasource.url=jdbc:mysql://localhost:3306/test

    spring.datasource.username=root

    spring.datasource.password=root

    spring.datasource.driver-class-name=com.mysql.jdbc.Driver

     

    spring.jpa.properties.hibernate.hbm2ddl.auto=update

    spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

    spring.jpa.show-sql= true

其實這個hibernate.hbm2ddl.auto引數的作用主要用於:自動建立|更新|驗證資料庫表結構,有四個值:

  1. create: 每次載入hibernate時都會刪除上一次的生成的表,然後根據你的model類再重新來生成新表,哪怕兩次沒有任何改變也要這樣執行,這就是導致資料庫表資料丟失的一個重要原因。

  2. create-drop :每次載入hibernate時根據model類生成表,但是sessionFactory一關閉,表就自動刪除。

  3. update:最常用的屬性,第一次載入hibernate時根據model類會自動建立起表的結構(前提是先建立好資料庫),以後載入hibernate時根據 model類自動更新表結構,即使表結構改變了但表中的行仍然存在不會刪除以前的行。要注意的是當部署到伺服器後,表結構是不會被馬上建立起來的,是要等 應用第一次執行起來後才會。

  4. validate :每次載入hibernate時,驗證建立資料庫表結構,只會和資料庫中的表進行比較,不會建立新表,但是會插入新值。

dialect 主要是指定生成表名的儲存引擎為InneoDB show-sql 是否打印出自動生產的SQL,方便除錯的時候檢視

3.新增實體類和DAO操作層

    @Entity

    public class User implements Serializable {

     

        private static final long serialVersionUID = 1L;

        @Id

        @GeneratedValue

        private Long id;

        @Column(nullable = false, unique = true)

        private String userName;

        @Column(nullable = false)

        private String passWord;

        @Column(nullable = false, unique = true)

        private String email;

        @Column(nullable = true, unique = true)

        private String nickName;

        @Column(nullable = false)

        private String regTime;

     

        //省略getter settet方法、構造方法

     

    }

dao只要繼承JpaRepository類就可以,幾乎可以不用寫方法,還有一個特別有尿性的功能非常贊,就是可以根據方法名來自動的生產SQL,比如findByUserName 會自動生產一個以 userName 為引數的查詢方法,比如 findAlll 自動會查詢表裡面的所有資料,比如自動分頁等等。

Entity中不對映成列的欄位得加@Transient 註解,不加註解也會對映成列。

    public interface UserRepository extends JpaRepository<User, Long> {

        User findByUserName(String userName);

        User findByUserNameOrEmail(String username, String email);

4.測試程式碼

    @RunWith(SpringJUnit4ClassRunner.class)

    @SpringApplicationConfiguration(Application.class)

    public class UserRepositoryTests {

     

        @Autowired

        private UserRepository userRepository;

     

        @Test

        public void test() throws Exception {

            Date date = new Date();

            DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);        

            String formattedDate = dateFormat.format(date);

             

            userRepository.save(new User("aa1", "[email protected]", "aa", "aa123456",formattedDate));

            userRepository.save(new User("bb2", "[email protected]", "bb", "bb123456",formattedDate));

            userRepository.save(new User("cc3", "[email protected]", "cc", "cc123456",formattedDate));

     

            Assert.assertEquals(9, userRepository.findAll().size());

            Assert.assertEquals("bb", userRepository.findByUserNameOrEmail("bb", "[email protected]").getNickName());

            userRepository.delete(userRepository.findByUserName("aa1"));

        }

     

    }


當讓 spring data jpa 還有很多功能,比如封裝好的分頁,可以自己定義SQL,主從分離等等,這裡就不詳細講了。

5.thymeleaf模板5.

Spring boot 推薦使用來代替jsp,thymeleaf模板到底是什麼來頭呢,讓spring大哥來推薦,下面我們來聊聊。

Thymeleaf是一款用於渲染XML/XHTML/HTML5內容的模板引擎。類似JSP,Velocity,FreeMaker等,它也可以輕易的與Spring MVC等Web框架進行整合作為Web應用的模板引擎。與其它模板引擎相比,Thymeleaf最大的特點是能夠直接在瀏覽器中開啟並正確顯示模板頁面,而不需要啟動整個Web應用。

好了,你們說了我們已經習慣使用了什麼 velocity,FreMaker,beetle之類的模版,那麼到底好在哪裡呢? 比一比吧 Thymeleaf是與眾不同的,因為它使用了自然的模板技術。這意味著Thymeleaf的模板語法並不會破壞文件的結構,模板依舊是有效的XML文件。模板還可以用作工作原型,Thymeleaf會在執行期替換掉靜態值。Velocity與FreeMarker則是連續的文字處理器。 下面的程式碼示例分別使用Velocity、FreeMarker與Thymeleaf打印出一條訊息:

Velocity: <p>$message</p>

FreeMarker: <p>${message}</p>

Thymeleaf: <p th:text="${message}">Hello World!</p>

** 注意,由於Thymeleaf使用了XML DOM解析器,因此它並不適合於處理大規模的XML檔案。**

URL

URL在Web應用模板中佔據著十分重要的地位,需要特別注意的是Thymeleaf對於URL的處理是通過語法@{…}來處理的。Thymeleaf支援絕對路徑URL:

<a th:href="@{http://www.thymeleaf.org}">Thymeleaf</a>

條件求值

<a th:href="@{/login}" th:unless=${session.user != null}>Login</a>

for迴圈

<tr th:each="prod : ${prods}">

<td th:text="${prod.name}">Onions</td>

<td th:text="${prod.price}">2.41</td>

<td th:text="${prod.inStock}? #{true} : #{false}">yes</td>

</tr>

就列出這幾個吧

6.頁面即原型

在Web開發過程中一個繞不開的話題就是前端工程師與後端工程師的寫作,在傳統Java Web開發過程中,前端工程師和後端工程師一樣,也需要安裝一套完整的開發環境,然後各類Java IDE中修改模板、靜態資原始檔,啟動/重啟/重新載入應用伺服器,重新整理頁面檢視最終效果。

但實際上前端工程師的職責更多應該關注於頁面本身而非後端,使用JSP,Velocity等傳統的Java模板引擎很難做到這一點,因為它們必須在應用伺服器中渲染完成後才能在瀏覽器中看到結果,而Thymeleaf從根本上顛覆了這一過程,通過屬性進行模板渲染不會引入任何新的瀏覽器不能識別的標籤,例如JSP中的,不會在Tag內部寫表示式。整個頁面直接作為HTML檔案用瀏覽器開啟,幾乎就可以看到最終的效果,這大大解放了前端工程師的生產力,它們的最終交付物就是純的HTML/CSS/JavaScript檔案。

7.Gradle 構建工具

spring 專案建議使用Gradle進行構建專案,相比maven來講 Gradle更簡潔,而且gradle更時候大型複雜專案的構建。gradle吸收了maven和ant的特點而來,不過目前maven仍然是Java界的主流,大家可以先了解了解。

一個使用gradle配置的專案。

    buildscript {

        repositories {

            maven { url "http://repo.spring.io/libs-snapshot" }

            mavenLocal()

        }

        dependencies {

            classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.6.RELEASE")

        }

    }

     

    apply plugin: 'java'  //新增 Java 外掛, 表明這是一個 Java 專案

    apply plugin: 'spring-boot' //新增 Spring-boot支援

    apply plugin: 'war'  //新增 War 外掛, 可以匯出 War 包

    apply plugin: 'eclipse' //新增 Eclipse 外掛, 新增 Eclipse IDE 支援, Intellij Idea 為 "idea"

     

    war {

        baseName = 'favorites'

        version =  '0.1.0'

    }

     

    sourceCompatibility = 1.7  //最低相容版本 JDK1.7

    targetCompatibility = 1.7  //目標相容版本 JDK1.7

     

    repositories {     //  Maven 倉庫

        mavenLocal()        //使用本地倉庫

        mavenCentral()      //使用中央倉庫

        maven { url "http://repo.spring.io/libs-snapshot" } //使用遠端倉庫

    }

      

    dependencies {   // 各種 依賴的jar包

        compile("org.springframework.boot:spring-boot-starter-web:1.3.6.RELEASE")

        compile("org.springframework.boot:spring-boot-starter-thymeleaf:1.3.6.RELEASE")

        compile("org.springframework.boot:spring-boot-starter-data-jpa:1.3.6.RELEASE")

        compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.6'

        compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.4'

        compile("org.springframework.boot:spring-boot-devtools:1.3.6.RELEASE")

        compile("org.springframework.boot:spring-boot-starter-test:1.3.6.RELEASE")

        compile 'org.webjars.bower:bootstrap:3.3.6'

        compile 'org.webjars.bower:jquery:2.2.4'

        compile("org.webjars:vue:1.0.24")

        compile 'org.webjars.bower:vue-resource:0.7.0'

     

    }

     

    bootRun {

        addResources = true

    }

8.WebJars

WebJars是一個很神奇的東西,可以讓大家以jar包的形式來使用前端的各種框架、元件。

什麼是WebJars

什麼是WebJars?WebJars是將客戶端(瀏覽器)資源(JavaScript,Css等)打成jar包檔案,以對資源進行統一依賴管理。WebJars的jar包部署在Maven中央倉庫上。

為什麼使用

我們在開發Java web專案的時候會使用像Maven,Gradle等構建工具以實現對jar包版本依賴管理,以及專案的自動化管理,但是對於JavaScript,Css等前端資源包,我們只能採用拷貝到webapp下的方式,這樣做就無法對這些資源進行依賴管理。那麼WebJars就提供給我們這些前端資源的jar包形勢,我們就可以進行依賴管理。

如何使用

1、 WebJars主官網 查詢對於的元件,比如Vuejs:

    <dependency>

        <groupId>org.webjars.bower</groupId>

        <artifactId>vue</artifactId>

        <version>1.0.21</version>

    </dependency>

2、頁面引入

<link th:href="@{/webjars/bootstrap/3.3.6/dist/css/bootstrap.css}" rel="stylesheet"></link>

就可以正常使用了!

示例程式碼:

https://github.com/ityouknow/spring-boot-examples

  • 新一代Java模板引擎Thymeleaf

    http://www.tianmaying.com/tutorial/using-thymeleaf

  • Spring Boot參考指南-中文版

    https://qbgbook.gitbooks.io/spring-boot-reference-guide-zh/content/

相關推薦

Spring Boot 入門教程學習 按照spring boot官方自己理解整理

建立Spring Boot maven專案   1. 在spring 官網中建立專案到本地   首先選擇maven project  java 之後 填寫 group id Artifactid  完成之後,  點選 generate Project 生成本地專

spring 官方的介面理解整理型別轉換spring例項解析

上篇文章解析了spring型別轉換的介面和他們的分工,怎麼通過設計模式實現轉換功能。 這篇需要些上篇的知識,如果沒有看可以從這兒跳轉spring 官方文件的介面理解整理(三)型別轉換 一、準備新建Maven專案,pom.xml內容如下 <properties>

spring 官方的介面理解整理型別轉換

所有相關介面的uml圖: 一、spring中型別轉換裡面我開始看的時候覺得converter和formatter的功能很多疑問,先來分析這兩個介面:  1、Converter.java package org.springframework.core.convert.

Spring Boot入門教程(四十八):初始化操作 CommandLineRunnerApplicationRunner

CommandLineRunner和ApplicationRunner在SpringApplication.run()之前,在所有的beans載入完成之後執行,用於執行一些初始化操作(如載入快取、讀取配置檔案、建立執行緒池等) CommandLineRunner和Applicatio

Spring Cloud 入門教程(七): 訊息匯流排(Spring Cloud Bus)(Greenwich.RELEASE)

參考網址:https://blog.csdn.net/forezp/article/details/81041062,由於此文中作

mybatis-Plus3.0 整合spring,配置分頁多個dao的掃描官方未說明的事項

mybatis-Plus 的配置是比較簡單的,但有一些東西官方文件是沒有說明的。 比如要掃描多個dao在spring下怎麼配置,

Python學習筆記第三天,操作、函數

input 釋放空間 打開方式 只需要 不能 解決 信息 無法查看 一個 一、文件處理   1、文件打開模式    打開文本的模式,默認添加t,需根據寫入或讀取編碼情況添加encoding參數。    r 只讀模式,默認模式,文件必須存在,不能存在則報異常。    w

Qt工程pro的簡單配置尤其是第三方頭

tex target data 資源文件 rules tdi som trac 允許 Qt開發中,pro文件是對正工程所有源碼、編譯、資源、目錄等的全方位配置的唯一方式,pro文件的編寫非常重要,以下對幾個重要項進行說明(win和linux,mac平臺通用配置) 註釋

Python學習筆記__9.3章 操作目錄

編程語言 Python # 這是學習廖雪峰老師python教程的學習筆記1、概覽os模塊可以直接調用操作系統提供的接口函數。幫助我們在Python程序中對目錄和文件進行操作。操作文件和目錄的函數一部分放在os模塊中,一部分放在os.path模塊中但是復制文件的函數居然在os模塊中不存在,原因是復制文件

ubuntu 只有客人會話登錄第一次深刻感受權限的威力

也看 宿主機 系統 docker 自己 主機 不能 。。 天突 為了測試docker的掛載權限,把宿主機的/etc/passwd文件掛載到了虛機當中,進入虛機想看下能不能直接對我宿主機上的文件進行操作,把/etc/passwd刪掉了最後十行。。。結果宿主機上的/etc/pa

Tomcat學習 之一 Tomcat優化思路 官方 通讀一遍才是正道

Tomcat優化思路 執行緒池內取一個 直到達到臨界點(最大連線數) 請求佇列(記事本)* 記下來那些來不及處理的請求 請求佇列滿了 就達到瓶頸了* Tomcat 使用Java 編寫 記憶體 CPU 在不改變業務程式碼的思路 :主要有下面三種思路 第一點 優化思路,增大

jQuery 操作方法大全也適用於 XML HTML

jQuery 文件操作方法 這些方法對於 XML 文件和 HTML 文件均是適用的,除了:html()。 方法 描述 在匹配的元素之後插入內容。 向匹配元素集合中的每個元素結尾插入由引數指定的內容。 向目標結尾插入匹配元素集合中的每個元素。 設定或返

samtools學習及使用範例,以及官方詳解

本文章主要參考“菜鳥”的新浪部落格,自己只是把自己操作的過程記錄下來,供大家參考。 #第一步:把sam檔案轉換成bam檔案,我們得到map.bam檔案 system"samtools view -bS map.sam > map.bam"; #第二步:sort 一下

Java - Struts框架教程 Hibernate框架教程 Spring框架入門教程新版 sping mvc spring boot spring cloud Mybatis

java ee cloud pac .cn java get pin nat 輕量級 https://www.zhihu.com/question/21142149 http://how2j.cn/k/hibernate/hibernate-tutorial/31.html

Spring-boot 官方教程學習

環境配置-基於Ubantu-16 Java環境配置 新增ppa    sudo add-apt-repository ppa:webupd8team/java sudo apt-get update Java 下載器 圖形化配置 sudo apt-get ins

Spring Boot入門教程(五十一): JSON Web TokenJWT

一:認證 在瞭解JWT之前先來回顧一下傳統session認證和基於token認證。 1.1 傳統session認證 http協議是一種無狀態協議,即瀏覽器傳送請求到伺服器,伺服器是不知道這個請求是哪個使用者發來的。為了讓伺服器知道請求是哪個使用者發來的,需要讓使用者提供

Spring Boot 基礎知識學習——快速入門

          SpringBoot 基礎知識學習(一)——快速入門 一、背景介紹          今天是2016年11月15號,接觸微服務大概一年多的時間,並且我們團隊已經在去年使用微服務架構

Spring Boot 官方學習入門及使用

轉載:http://www.cnblogs.com/larryzeal/p/5799195.html 目錄:  一、內建Servlet Container: Name Servlet Version Java Version Tomcat 8 3.1

zookeeper curator學習配合spring boot模擬leader選舉

round 一段時間 .cn cti -s col tid void sco 基礎知識:http://www.cnblogs.com/LiZhiW/p/4930486.html 項目路徑:https://gitee.com/zhangjunqing/spring-boo

Spring Boot入門系列三資源屬性配置

response mage 註意 site spa website 圖片 process ram   Spring Boot 資源文件屬性配置     配置文件是指在resources根目錄下的application.properties或application.yml配置