日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 芯聞號(hào) > 充電吧
[導(dǎo)讀]??.???____??????????_????????????__?_?_ ?/\\?/?___'_?__?_?_(_)_?__??__?_?\?\?\?\ (?(?)\___?|?'_?|?'_


??.???____??????????_????????????__?_?_
?/\?/?___'_?__?_?_(_)_?__??__?_????
(?(?)___?|?'_?|?'_|?|?'_?/?_`?|????
?\/??___)|?|_)|?|?|?|?|?||?(_|?|??)?)?)?)
??'??|____|?.__|_|?|_|_|?|___,?|?/?/?/?/
?=========|_|==============|___/=/_/_/_/
?::?Spring?Boot?::????????(v1.4.2.RELEASE)12345671234567


SpringBoot

SpringBoot 是 SpringMVC 的升級(jí)版,相對(duì)于編碼、配置、部署和監(jiān)控方面,會(huì)更加簡單

微服務(wù)

微服務(wù)是一個(gè)新興的軟件架構(gòu),就是把一個(gè)大型的單個(gè)應(yīng)用程序和服務(wù)拆分為數(shù)十個(gè)的支持微服務(wù)。一個(gè)微服務(wù)的策略可以讓工作變得更為簡便,它可擴(kuò)展單個(gè)組件而不是整個(gè)的應(yīng)用程序堆棧,從而滿足服務(wù)等級(jí)協(xié)議。

spring為 微服務(wù)提供了一整套的組件-SpringClound , SpirngBoot 就是該基礎(chǔ)。

第一個(gè)SpringBoot程序

這里使用的開發(fā)軟件是IntelliJ Idea,和Eclipse差不太多,界面更炫酷,功能更強(qiáng)大;AndroidStudio就是基于IntelliJ開發(fā)的,我之前使用過androidStudio,它倆界面幾乎一樣。

IntelliJ Idea官網(wǎng):http://www.jetbrains.com/idea/
配置好 maven, tomcat, jdk 就可以使用了

maven配置的中央倉庫阿里云鏡像

這個(gè)地址下載 jar 包的速度,誰用誰知道!

setting.xml

.
.alimavenaliyun?mavenhttp://maven.aliyun.com/nexus/content/groups/public/central.
??.123456789101112123456789101112

使用IDEA創(chuàng)建SpringBoot項(xiàng)目

我的IDEA版本:IntelliJ IDEA 2016.3.1

項(xiàng)目結(jié)構(gòu)為:

項(xiàng)目默認(rèn)的 mavenpom.xml文件

pom.xml

4.0.0com.jxustspirngbootdemo0.0.1-SNAPSHOTjarspirngbootdemoDemo?project?for?Spring?Bootorg.springframework.bootspring-boot-starter-parent1.4.2.RELEASEUTF-8UTF-81.8org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtestorg.springframework.bootspring-boot-maven-plugin123456789101112131415161718192021222324252627282930313233343536373839404142434445464748123456789101112131415161718192021222324252627282930313233343536373839404142434445464748

運(yùn)行SpirngbootdemoApplication的main方法,就能開始運(yùn)行。

其他啟動(dòng)方式,請(qǐng)看視頻教程http://www.imooc.com/learn/767

控制臺(tái)輸出:

"C:Program?FilesJavajdk1.8.0_91binjava"?....

??.???____??????????_????????????__?_?_
?/\?/?___'_?__?_?_(_)_?__??__?_????
(?(?)___?|?'_?|?'_|?|?'_?/?_`?|????
?\/??___)|?|_)|?|?|?|?|?||?(_|?|??)?)?)?)
??'??|____|?.__|_|?|_|_|?|___,?|?/?/?/?/
?=========|_|==============|___/=/_/_/_/
?::?Spring?Boot?::????????(v1.4.2.RELEASE)
?2016-12-16?14:56:52.083??INFO?15872?---?[???????????main]?o.s.j.e.a.AnnotationMBeanExporter????????:?Registering?beans?for?JMX?exposure?on?startup
2016-12-16?14:56:52.215??INFO?15872?---?[???????????main]?s.b.c.e.t.TomcatEmbeddedServletContainer?:?Tomcat?started?on?port(s):?8080?(http)
2016-12-16?14:56:52.255??INFO?15872?---?[???????????main]?com.jxust.SpirngbootdemoApplication??????:?Started?SpirngbootdemoApplication?in?7.795?seconds?(JVM?running?for?9.177)123456789101112123456789101112

從這里可以看到 Tomcat 的端口號(hào),因?yàn)檫€沒有自定義Controller,所以還沒有視圖,下面來創(chuàng)建一個(gè)輸出Hello SpringBoot!的視圖。

創(chuàng)建一個(gè)HelloController,位于controller包下

HelloController.Java

package?com.jxust.controller;

import?org.springframework.web.bind.annotation.GetMapping;
import?org.springframework.web.bind.annotation.RestController;

/**
?*?Created?by?Peng
?*?Time:?2016/12/16?15:45
?*/
@RestController
public?class?HelloController?{

????@RequestMapping("/hello")
????public?String?say(){
????????return?"Hello?SpringBoot!";
????}
}12345678910111213141516171234567891011121314151617

@RestControllerSpring4 之后新加的注解,原來返回json需要@ResponseBody配合@Controller,現(xiàn)在一個(gè)頂倆

在瀏覽器中輸入http://localhost:8080/hello就能輸出Hello SpringBoot!這句話。

自定義屬性配置

用到的是application.properties這個(gè)文件

配置端口號(hào)和訪問前綴

application.properties

server.port=8081
server.context-path=/springboot1212

除了使用.properties格式的文件,還可以使用.yml格式的配置文件(推薦),更加簡便
application.yml

把原來的application.properties文件刪除
注意格式,空格不能少

獲取配置文件中的屬性值

我們也可以在配置文件中,配置數(shù)據(jù),在 Controller 中獲取,比如:
application.yml

server:
??port:?8081
??context-path:?/springboot
name:?小胖12341234

HelloController 獲取配置文件中的值

HelloController.java

....
@RestController
public?class?HelloController?{

????@Value("${name}")
????private?String?name;

????@RequestMapping(value?=?"/hello",method?=?RequestMethod.GET)
????public?String?say(){
????????return?name;
????}
}123456789101112123456789101112

返回的為name的值

配置文件中值配置方式的多樣化

配置文件的值可以是多個(gè),也可以是組合,如:

application.yml

name:?小胖
age:?221212

或者

application.yml

name:?小胖
age:?22
content:?"name:?${name},age:?${age}"123123

或者

application.yml

server:
??port:?8081
??context-path:?/springboot
person:
??name:?小胖
??age:?22123456123456

前兩種配置獲取值的方式都是一樣的,但是對(duì)于這種方式,person 有相應(yīng)的兩個(gè)屬性,需要這樣處理

PersonProperties.java

package?com.jxust;

import?org.springframework.boot.context.properties.ConfigurationProperties;
import?org.springframework.stereotype.Component;

/**
?*?Created?by?Peng
?*?Time:?2016/12/16?16:34
?*/
@Component
@ConfigurationProperties(prefix?=?"person")
public?class?PersonProperties?{
????private?String?name;
????private?Integer?age;

????public?String?getName()?{
????????return?name;
????}

????public?void?setName(String?name)?{
????????this.name?=?name;
????}

????public?Integer?getAge()?{
????????return?age;
????}

????public?void?setAge(Integer?age)?{
????????this.age?=?age;
????}
}1234567891011121314151617181920212223242526272829303112345678910111213141516171819202122232425262728293031

Alt+insert快捷鍵提示生成Getter and Setter

pom.xml需要加入下面的依賴,處理警告

org.springframework.bootspring-boot-configuration-processortrue1234512345

HelloController.java

package?com.jxust.controller;

import?com.jxust.PersonProperties;
import?org.springframework.beans.factory.annotation.Autowired;
import?org.springframework.web.bind.annotation.RequestMapping;
import?org.springframework.web.bind.annotation.RequestMethod;
import?org.springframework.web.bind.annotation.RestController;

/**
?*?Created?by?Peng
?*?Time:?2016/12/15?20:55
?*/
@RestController
public?class?HelloController?{

???@Autowired
???private?PersonProperties?personProperties;

????@RequestMapping(value?=?"/hello",method?=?RequestMethod.GET)
????public?String?say(){
????????return?personProperties.getName()+personProperties.getAge();
????}
}12345678910111213141516171819202122231234567891011121314151617181920212223

關(guān)于配置文件application.yml的多套配置

類似 il8n 文件國際化的配置方式<code style="font-family:"Source Code Pro",monospace; padding:2px 4px; font-size:13.5px; white-space:nowr

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉