您好,登錄后才能下訂單哦!
本文源碼: GitHub·點這里 || GitEE·點這里
1)SpringBoot繼承了Spring優(yōu)秀的基因,上手難度小
2)簡化配置,提供各種默認(rèn)配置來簡化項目配置
3)內(nèi)嵌式容器簡化Web項目,簡化編碼
Spring Boot 則會幫助開發(fā)著快速啟動一個 web 容器,在 Spring Boot 中,只需要在 pom 文件中添加如下一個 starter-web 依賴即可.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
4)發(fā)展趨勢看
微服務(wù)是未來發(fā)展的趨勢,項目會從傳統(tǒng)架構(gòu)慢慢轉(zhuǎn)向微服務(wù)架構(gòu),因為微服務(wù)可以使不同的團(tuán)隊專注于更小范圍的工作職責(zé)、使用獨立的技術(shù)、更安全更頻繁地部署。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
application.yml
# 端口
server:
port: 8001
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HelloApplication {
public static void main(String[] args) {
SpringApplication.run(HelloApplication.class,args) ;
}
}
絲毫沒有問題,就這樣吧啟動上面這個類,springboot的基礎(chǔ)環(huán)境就搭建好了。
想想之前的Spring框架的環(huán)境搭建,是不是就是這個感覺:意會一下吧。
import com.boot.hello.entity.ProjectInfo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* SpringBoot 2.0 第一個程序
*/
@RestController
public class HelloController {
@RequestMapping("/getInfo")
public ProjectInfo getInfo (){
ProjectInfo info = new ProjectInfo() ;
info.setTitle("SpringBoot 2.0 基礎(chǔ)教程");
info.setDate("2019-06-05");
info.setAuthor("知了一笑");
return info ;
}
}
@RestController 注解 等價 @Controller + @ResponseBody 返回Json格式數(shù)據(jù)。
1)首先看看SpringBoot 如何區(qū)分環(huán)境
這里標(biāo)識配置加載指定的配置文件。
2)參數(shù)配置
application-pro.yml
user:
author: 知了一笑
title: SpringBoot 2.0 程序開發(fā)
time: 2019-07-05
3)參數(shù)內(nèi)容讀取
@Component
public class ParamConfig {
@Value("${user.author}")
private String author ;
@Value("${user.title}")
private String title ;
@Value("${user.time}")
private String time ;
// 省略 get 和 set 方法
}
4)調(diào)用方式
/**
* 環(huán)境配置,參數(shù)綁定
*/
@RestController
public class ParamController {
@Resource
private ParamConfig paramConfig ;
@RequestMapping("/getParam")
public String getParam (){
return "["+paramConfig.getAuthor()+";"+
paramConfig.getTitle()+";"+
paramConfig.getTime()+"]" ;
}
}
1)Rest風(fēng)格接口
/**
* Rest 風(fēng)格接口測試
*/
@RestController // 等價 @Controller + @ResponseBody 返回Json格式數(shù)據(jù)
@RequestMapping("rest")
public class RestApiController {
private static final Logger LOG = LoggerFactory.getLogger(RestApiController.class) ;
/**
* 保存
*/
@RequestMapping(value = "/insert",method = RequestMethod.POST)
public String insert (UserInfo userInfo){
LOG.info("===>>"+userInfo);
return "success" ;
}
/**
* 查詢
*/
@RequestMapping(value = "/select/{id}",method = RequestMethod.GET)
public String select (@PathVariable Integer id){
LOG.info("===>>"+id);
return "success" ;
}
}
2)測試代碼
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MockServletContext.class)
@WebAppConfiguration
public class TestRestApi {
private MockMvc mvc;
@Before
public void setUp() throws Exception {
mvc = MockMvcBuilders.standaloneSetup(new RestApiController()).build();
}
/**
* 測試保存接口
*/
@Test
public void testInsert () throws Exception {
RequestBuilder request = null;
request = post("/rest/insert/")
.param("id", "1")
.param("name", "測試大師")
.param("age", "20");
mvc.perform(request)
.andExpect(content().string(equalTo("success")));
}
/**
* 測試查詢接口
*/
@Test
public void testSelect () throws Exception {
RequestBuilder request = null;
request = get("/rest/select/1");
mvc.perform(request)
.andExpect(content().string(equalTo("success")));
}
}
這樣SpringBoot2.0的入門案例就結(jié)束了,簡單,優(yōu)雅,有格調(diào)。
GitHub·地址
https://github.com/cicadasmile/spring-boot-base
GitEE·地址
https://gitee.com/cicadasmile/spring-boot-base
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。