自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

springboot:入門(mén)篇

企業(yè)動(dòng)態(tài)
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置。

[[203209]]

什么是spring boot

Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置。用我的話來(lái)理解,就是spring boot其實(shí)不是什么新的框架,它默認(rèn)配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道這樣比喻是否合適)。

使用spring boot有什么好處

其實(shí)就是簡(jiǎn)單、快速、方便!平時(shí)如果我們需要搭建一個(gè)spring web項(xiàng)目的時(shí)候需要怎么做呢?

  • 1)配置web.xml,加載spring和spring mvc
  • 2)配置數(shù)據(jù)庫(kù)連接、配置spring事務(wù)
  • 3)配置加載配置文件的讀取,開(kāi)啟注解
  • 4)配置日志文件
  • 配置完成之后部署tomcat 調(diào)試

現(xiàn)在非常流行微服務(wù),如果我這個(gè)項(xiàng)目?jī)H僅只是需要發(fā)送一個(gè)郵件,如果我的項(xiàng)目?jī)H僅是生產(chǎn)一個(gè)積分;我都需要這樣折騰一遍!

但是如果使用spring boot呢?

很簡(jiǎn)單,我僅僅只需要非常少的幾個(gè)配置就可以迅速方便的搭建起來(lái)一套web項(xiàng)目或者是構(gòu)建一個(gè)微服務(wù)!

使用sping boot到底有多爽,用下面這幅圖來(lái)表達(dá)

[[203210]]

快速入門(mén)

說(shuō)了那么多,手癢癢的很,馬上來(lái)一發(fā)試試!

maven構(gòu)建項(xiàng)目

  • 1、訪問(wèn)http://start.spring.io/
  • 2、選擇構(gòu)建工具M(jìn)aven Project、Spring Boot版本1.3.6以及一些工程基本信息,點(diǎn)擊“Switch to the full version.”java版本選擇1.7,可參考下圖所示:

  • 3、點(diǎn)擊Generate Project下載項(xiàng)目壓縮包
  • 4、解壓后,使用eclipse,Import -> Existing Maven Projects -> Next ->選擇解壓后的文件夾-> Finsh,OK done!

項(xiàng)目結(jié)構(gòu)介紹

如上圖所示,Spring Boot的基礎(chǔ)結(jié)構(gòu)共三個(gè)文件:

  • src/main/java 程序開(kāi)發(fā)以及主程序入口
  • src/main/resources 配置文件
  • src/test/java 測(cè)試程序

另外,spingboot建議的目錄結(jié)果如下:

root package結(jié)構(gòu):com.example.myproject

  1. com 
  2.   +- example 
  3.     +- myproject 
  4.       +- Application.java 
  5.       | 
  6.       +- domain 
  7.       |  +- Customer.java 
  8.       |  +- CustomerRepository.java 
  9.       | 
  10.       +- service 
  11.       |  +- CustomerService.java 
  12.       | 
  13.       +- controller 
  14.       |  +- CustomerController.java 
  15.       | 
  • 1、Application.java 建議放到根目錄下面,主要用于做一些框架配置
  • 2、domain目錄主要用于實(shí)體(Entity)與數(shù)據(jù)訪問(wèn)層(Repository)
  • 3、service 層主要是業(yè)務(wù)類(lèi)代碼
  • 4、controller 負(fù)責(zé)頁(yè)面訪問(wèn)控制

采用默認(rèn)配置可以省去很多配置,當(dāng)然也可以根據(jù)自己的喜歡來(lái)進(jìn)行更改

***,啟動(dòng)Application main方法,至此一個(gè)java項(xiàng)目搭建好了!

引入web模塊

1、pom.xml中添加支持web的模塊:

  1. <dependency> 
  2.         <groupId>org.springframework.boot</groupId> 
  3.         <artifactId>spring-boot-starter-web</artifactId> 
  4.  </dependency> 

pom.xml文件中默認(rèn)有兩個(gè)模塊:

spring-boot-starter :核心模塊,包括自動(dòng)配置支持、日志和YAML;

spring-boot-starter-test :測(cè)試模塊,包括JUnit、Hamcrest、Mockito。

2、編寫(xiě)controller內(nèi)容:

  1. @RestController 
  2. public class HelloWorldController { 
  3.     @RequestMapping("/hello"
  4.     public String index() { 
  5.         return "Hello World"
  6.     } 

@RestController 的意思就是controller里面的方法都以json格式輸出,不用再寫(xiě)什么jackjson配置的了!

3、啟動(dòng)主程序,打開(kāi)瀏覽器訪問(wèn)http://localhost:8080/hello,就可以看到效果了,有木有很簡(jiǎn)單!

如何做單元測(cè)試

打開(kāi)的src/test/下的測(cè)試入口,編寫(xiě)簡(jiǎn)單的http請(qǐng)求來(lái)測(cè)試;使用mockmvc進(jìn)行,利用MockMvcResultHandlers.print()打印出執(zhí)行結(jié)果。

  1. @RunWith(SpringJUnit4ClassRunner.class) 
  2. @SpringApplicationConfiguration(classes = MockServletContext.class) 
  3. @WebAppConfiguration 
  4. public class HelloWorldControlerTests { 
  5.     private MockMvc mvc; 
  6.     @Before 
  7.     public void setUp() throws Exception { 
  8.         mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build(); 
  9.     } 
  10.     @Test 
  11.     public void getHello() throws Exception { 
  12.     mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)) 
  13.                 .andExpect(MockMvcResultMatchers.status().isOk()) 
  14.                 .andDo(MockMvcResultHandlers.print()) 
  15.                 .andReturn(); 
  16.     } 

開(kāi)發(fā)環(huán)境的調(diào)試

熱啟動(dòng)在正常開(kāi)發(fā)項(xiàng)目中已經(jīng)很常見(jiàn)了吧,雖然平時(shí)開(kāi)發(fā)web項(xiàng)目過(guò)程中,改動(dòng)項(xiàng)目啟重啟總是報(bào)錯(cuò);但springBoot對(duì)調(diào)試支持很好,修改之后可以實(shí)時(shí)生效,需要添加以下的配置:

  1. <dependencies> 
  2.     <dependency> 
  3.         <groupId>org.springframework.boot</groupId> 
  4.         <artifactId>spring-boot-devtools</artifactId> 
  5.         <optional>true</optional> 
  6.     </dependency> 
  7. </dependencies> 
  8.  
  9. <build> 
  10.     <plugins> 
  11.         <plugin> 
  12.             <groupId>org.springframework.boot</groupId> 
  13.             <artifactId>spring-boot-maven-plugin</artifactId> 
  14.             <configuration> 
  15.                 <fork>true</fork> 
  16.             </configuration> 
  17.         </plugin> 
  18. </plugins> 
  19. </build> 

該模塊在完整的打包環(huán)境下運(yùn)行的時(shí)候會(huì)被禁用。如果你使用java -jar啟動(dòng)應(yīng)用或者用一個(gè)特定的classloader啟動(dòng),它會(huì)認(rèn)為這是一個(gè)“生產(chǎn)環(huán)境”。

總結(jié)

使用spring boot可以非常方便、快速搭建項(xiàng)目,使我們不用關(guān)心框架之間的兼容性,適用版本等各種問(wèn)題,我們想使用任何東西,僅僅添加一個(gè)配置就可以,所以使用sping boot非常適合構(gòu)建微服務(wù)。

【本文為51CTO專(zhuān)欄作者“純潔的微笑”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)微信公眾號(hào)聯(lián)系作者獲取授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來(lái)源: 51CTO專(zhuān)欄
相關(guān)推薦

2011-01-18 17:00:31

Postfix入門(mén)

2020-11-16 10:19:33

Java

2016-09-06 17:43:12

SwiftCloudKit開(kāi)發(fā)

2009-06-09 13:02:30

NetBeans使用教程

2022-01-27 09:35:45

whiledo-while循環(huán)Java基礎(chǔ)

2020-11-13 07:22:46

Java基礎(chǔ)While

2015-07-30 09:43:10

獨(dú)立游戲開(kāi)發(fā)入門(mén)

2012-01-17 10:47:07

jQuery

2022-03-28 09:31:58

for循環(huán)語(yǔ)句

2022-07-06 07:57:37

Zookeeper分布式服務(wù)框架

2022-03-10 09:33:21

Java數(shù)組初始化

2010-09-08 13:42:06

2018-12-21 12:25:08

2017-01-22 21:30:39

大數(shù)據(jù)Kaggle函數(shù)

2009-06-15 17:22:36

JBoss Seam

2021-12-21 09:02:31

Matplotlib Python可視化

2020-11-09 10:19:05

Java

2020-11-19 10:36:16

Java基礎(chǔ)方法

2019-09-03 15:45:31

Redis分片集群

2022-01-21 11:26:19

Java結(jié)構(gòu)語(yǔ)句if語(yǔ)句
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)