溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

一.初識(shí)SpringBoot(入門級(jí)01)

發(fā)布時(shí)間:2020-06-17 13:29:02 來(lái)源:網(wǎng)絡(luò) 閱讀:219 作者:wx5995bc765bd70 欄目:編程語(yǔ)言

剛開始知道Spring Boot的時(shí)候,只是大概知道它是一個(gè)更快更方便的工具。Spring Boot讓我們的Spring應(yīng)用變的更輕量化。比如:你可以僅僅依靠一個(gè)Java類來(lái)運(yùn)行一個(gè)Spring應(yīng)用。你也可以打包你的應(yīng)用為jar并通過(guò)使用java -jar來(lái)運(yùn)行你的Spring Web應(yīng)用。

1.1 Spring Boot是什么?

SpringBoot 是一個(gè)快速開發(fā)的框架,能夠快速的整合第三方框架,簡(jiǎn)化XML配置,全部采用注解形式,內(nèi)置Tomcat容器,幫助開發(fā)者能夠?qū)崿F(xiàn)快速開發(fā),SpringBoot的Web組件 默認(rèn)集成的是SpringMVC框架。SpringMVC是控制層。

1.2 Spring Boot的主要優(yōu)點(diǎn)?

  1. 為所有Spring開發(fā)者更快的入門
  2. 開箱即用,提供各種默認(rèn)配置來(lái)簡(jiǎn)化項(xiàng)目配置
  3. 內(nèi)嵌式容器簡(jiǎn)化Web項(xiàng)目
  4. 沒(méi)有冗余代碼生成和XML配置的要求
    下面就讓我們來(lái)完成Spring Boot基礎(chǔ)項(xiàng)目的構(gòu)建,并且實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Http請(qǐng)求處理,通過(guò)這個(gè)例子對(duì)Spring Boot有一個(gè)初步的了解,并體驗(yàn)其結(jié)構(gòu)簡(jiǎn)單、開發(fā)快速的特性。

1.3 系統(tǒng)要求:

Java1.8及以上
Spring Framework 4.1.5及以上
Spring Boot 2.0

1.4.SpringBoot和SpringMVC區(qū)別:

SpringBoot 是一個(gè)快速開發(fā)的框架,能夠快速的整合第三方框架,簡(jiǎn)化XML配置,全部采用注解形式,內(nèi)置WEB容器,幫助開發(fā)者能夠?qū)崿F(xiàn)快速開發(fā),SpringBoot的Web組件 默認(rèn)集成的是SpringMVC框架。SpringMVC是控制層。

1.5.SpringBoot和SpringCloud區(qū)別:

SpringCloud依賴與SpringBoot組件,使用SpringMVC編寫Http協(xié)議接口,同時(shí)SpringCloud是一套完整的微服務(wù)解決框架。

2.1.創(chuàng)建一個(gè)Maven工程

名為”springboot” 類型為Jar工程項(xiàng)目。

2.2.引入pom依賴文件


<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
</dependency>
2.0.0.RELEASE
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>


spring-boot-starter-parent作用
在pom.xml中引入spring-boot-start-parent,spring官方的解釋叫什么stater poms,它可以提供dependency management,也就是說(shuō)依賴管理,引入以后在申明其它dependency的時(shí)候就不需要version了,后面可以看到。
spring-boot-starter-web作用
springweb 核心組件
spring-boot-maven-plugin作用
如果我們要直接Main啟動(dòng)spring,那么以下plugin必須要添加,否則是無(wú)法啟動(dòng)的。如果使用maven 的spring-boot:run的話是不需要此配置的。(我在測(cè)試的時(shí)候,如果不配置下面的plugin也是直接在Main中運(yùn)行的。)

2.3.編寫helloword服務(wù)

創(chuàng)建HelloController類,內(nèi)容如下:

@RestController@EnableAutoConfiguration
br/>@EnableAutoConfiguration

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

 public static void main(String[] args) {
     SpringApplication.run(HelloController.class, args);
}

}

2.4.@RestController

加上RestController 表示修飾該Controller所有的方法返回JSON格式,直接可以編寫Restful接口

2.5.@EnableAutoConfiguration

注解:作用在于讓 Spring Boot 根據(jù)應(yīng)用所聲明的依賴來(lái)對(duì) Spring 框架進(jìn)行自動(dòng)配置
這個(gè)注解告訴Spring Boot根據(jù)添加的jar依賴猜測(cè)你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration將假定你正在開發(fā)一個(gè)web應(yīng)用并相應(yīng)地對(duì)Spring進(jìn)行設(shè)置。

2.6.SpringApplication啟動(dòng)類

SpringApplication.run(HelloController.class, args);
標(biāo)識(shí)為啟動(dòng)類

2.7.SpringBoot啟動(dòng)方式1

啟動(dòng)主程序,打開瀏覽器訪問(wèn)http://localhost:8080/index
可以看到頁(yè)面輸出Hello World

2.8.SpringBoot啟動(dòng)方式2

---- 控制器掃包范圍
@ComponentScan(basePackages = "com.guahao.controller")

@EnableAutoConfiguration
public class App {

 public static void main(String[] args) {
 SpringApplication.run(App.class, args);
}

}

2.9.SpringBoot啟動(dòng)方式3------@SpringBootApplication

@SpringBootApplication 被 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解所修飾,換言之 Springboot 提供了統(tǒng)一的注解來(lái)替代以上三個(gè)注解
掃包范圍:在啟動(dòng)類上加上@SpringBootApplication注解,當(dāng)前包下或者子包下所有的類都可以掃到。

3.1.渲染W(wǎng)eb頁(yè)面

在之前的示例中,我們都是通過(guò)@RestController來(lái)處理請(qǐng)求,所以返回的內(nèi)容為json對(duì)象。那么如果需要渲染html頁(yè)面的時(shí)候,要如何實(shí)現(xiàn)呢?--模板引擎--在動(dòng)態(tài)HTML實(shí)現(xiàn)上Spring Boot依然可以完美勝任,并且提供了多種模板引擎的默認(rèn)配置支持,所以在推薦的模板引擎下,我們可以很快的上手開發(fā)動(dòng)態(tài)網(wǎng)站。
Spring Boot提供了默認(rèn)配置的模板引擎主要有以下幾種:
? Thymeleaf
? FreeMarker
? Velocity
? Groovy
? Mustache
Spring Boot建議使用這些模板引擎,避免使用JSP,若一定要使用JSP將無(wú)法實(shí)現(xiàn)Spring Boot的多種特性,具體可見(jiàn)后文:支持JSP的配置
當(dāng)你使用上述模板引擎中的任何一個(gè),它們默認(rèn)的模板配置路徑為:src/main/resources/templates。當(dāng)然也可以修改這個(gè)路徑,具體如何修改,可在后續(xù)各模板引擎的配置屬性中查詢并修改。

3.2.使用Freemarker模板引擎渲染web視圖,首先引入pom文件

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

3.3.后端代碼

在src/main/resources/創(chuàng)建一個(gè)templates文件夾,后綴為*.ftl。

@RequestMapping("/index")
public String index(Map map) {
map.put("name","美麗的天使...");
return "index";
}

3.4.前端代碼

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title></title>
</head>
<body>
${name}
</body>
</html>

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI