一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - JavaEE微框架Spring Boot深入解讀

JavaEE微框架Spring Boot深入解讀

2020-09-21 15:56u014427391 Java教程

spring框架作為JavaEE框架領(lǐng)域的一款重要的開(kāi)源框架,在企業(yè)應(yīng)用開(kāi)發(fā)中有著很重要的作用。接下來(lái)通過(guò)本文給大家介紹JavaEE微框架Spring Boot深入解讀,需要的朋友可以參考下

前言

spring框架作為JavaEE框架領(lǐng)域的一款重要的開(kāi)源框架,在企業(yè)應(yīng)用開(kāi)發(fā)中有著很重要的作用,同時(shí)Spring框架及其子框架很多,所以知識(shí)量很廣。

Spring Boot:一款Spring框架的子框架,也可以叫微框架,是2014年推出的一款使Spring框架開(kāi)發(fā)變得容易的框架。學(xué)過(guò)Spring框架的都知識(shí),Spring框架難以避免地需要配置不少XMl,而使用Spring Boot框架的話,就可以使用注解開(kāi)發(fā),極大地簡(jiǎn)化基于Spring框架的開(kāi)發(fā)。

Spring Boot充分利用了JavaConfig的配置模式以及“約定優(yōu)于配置”的理念,能夠極大的簡(jiǎn)化基于Spring MVC的Web應(yīng)用和REST服務(wù)開(kāi)發(fā)。

然后本博客介紹基于IDEA編輯器的Spring Boot項(xiàng)目創(chuàng)建和部署。

Spring Boot項(xiàng)目創(chuàng)建

1.創(chuàng)建Maven項(xiàng)目

JavaEE微框架Spring Boot深入解讀

 

2.在pom.xml加入Spring Boot的jar

如果只是測(cè)試一個(gè)字符串輸出的話,只要加入spring-boot-starter(核心模塊)和spring-boot-starter-web(因?yàn)檫@個(gè)一個(gè)Web項(xiàng)目),可以參考我的配置,這里使用了Spring Boot熱部署,需要去github上搜索jar:springloaded-1.2.4.RELEASE.jar,然后下載放在項(xiàng)目的lib文件夾里

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.example</groupId>
 <artifactId>demo</artifactId>
 <packaging>war</packaging>
 <version>1.0-SNAPSHOT</version>
 <name>demo Maven Webapp</name>
 <parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.5.1.RELEASE</version>
  <relativePath/>
 </parent>
 <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <java.version>1.8</java.version>
  <spring-boot-admin.version>1.4.5</spring-boot-admin.version>
 </properties>
 <dependencies>
  <dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>3.8.1</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>de.codecentric</groupId>
   <artifactId>spring-boot-admin-starter-client</artifactId>
   <version>${spring-boot-admin.version}</version>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter</artifactId>
  </dependency>
 </dependencies>
 <build>
  <plugins>
   <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
   </plugin>
   <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin </artifactId>
    <dependencies>
     <!--springloaded hot deploy -->
     <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>springloaded</artifactId>
      <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/springloaded-1.2.5.RELEASE.jar</systemPath>
     </dependency>
    </dependencies>
    <executions>
     <execution>
      <goals>
       <goal>repackage</goal>
      </goals>
      <configuration>
       <classifier>exec</classifier>
      </configuration>
     </execution>
    </executions>
   </plugin>
  </plugins>
 </build>
</project>

刷新,下載jar到maven項(xiàng)目里  

JavaEE微框架Spring Boot深入解讀

3.編寫(xiě)程序,項(xiàng)目結(jié)構(gòu)如圖

JavaEE微框架Spring Boot深入解讀

寫(xiě)個(gè)啟動(dòng)類Application.Java:

啟動(dòng)類設(shè)置端口為8087,因?yàn)槟J(rèn)端口是8080,而有很多應(yīng)用都是8080端口,避免重復(fù),最好自己改端口

其中@SpringBootApplication申明讓spring boot自動(dòng)給程序進(jìn)行必要的配置,等價(jià)于以默認(rèn)屬性使用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Configuration@EnableAutoConfiguration@ComponentScan
package com;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.scheduling.annotation.EnableAsync;
@SpringBootApplication
@EnableAsync
public class Application implements EmbeddedServletContainerCustomizer {
  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }
  @Override
  public void customize(ConfigurableEmbeddedServletContainer configurableEmbeddedServletContainer) {
    configurableEmbeddedServletContainer.setPort(8087);
  }
}

寫(xiě)個(gè)Controller類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.example;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created by Administrator on 2017/4/24.
 */
@RestController
@RequestMapping("/")
public class DemoController {
  @RequestMapping("/demo")
  private String demo() {
    return "this is spring boot demo!!!";
  }
}

導(dǎo)入不想自己寫(xiě)demo,可以通過(guò)http://start.spring.io/ ,在平臺(tái)自動(dòng)生成一個(gè)demo代碼,然后打開(kāi)項(xiàng)目就好

Spring Boot部署

添加個(gè)Spring Boot配置服務(wù)器

JavaEE微框架Spring Boot深入解讀

JavaEE微框架Spring Boot深入解讀

訪問(wèn):

JavaEE微框架Spring Boot深入解讀

以上所述是小編給大家介紹的JavaEE微框架Spring Boot深入解讀,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)服務(wù)器之家網(wǎng)站的支持!

原文鏈接:http://blog.csdn.net/u014427391/article/details/70655332

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美va天堂va视频va在线 | free性丰满hd性欧美厨房 | 2019nv天堂香蕉在线观看 | 国产视频中文字幕 | 日本漫画工囗全彩番在线 | 午夜dj影院在线观看完整版 | 欧美国产日韩1区俺去了 | 极品妖艳许清赵丽全文免费阅读 | 成人免费体验区福利云点播 | 日本高清在线观看天码888 | 午夜AV国产欧美亚洲高清在线 | 亚洲福利电影一区二区? | 小SAO货叫大声点妓女 | 亚洲卡一卡2卡三卡4麻豆 | 精品一区二区三区自拍图片区 | 亚洲成人网导航 | 国产高清不卡码一区二区三区 | 国产精品 视频一区 二区三区 | 日本高清中文字幕 | 韩国女主播一区二区视频 | 亚洲国产第一区二区三区 | 国产精品99久久 | 勾搭已婚高h| 国产重口老太伦 | 日韩无砖专区体验区 | 草免费视频 | 免费人成在线观看69式小视频 | 成年人免费在线视频 | 精品无码人妻一区二区免费AV | 国产喂奶300部 | 特黄a级三级三级野战 | 93版高校教师 | 色综合久久日韩国产 | 精品免费视频 | 亚偷熟乱区视频在线观看 | 国产欧美日韩成人 | 91精品国产综合久 | 亚洲成在人网站天堂一区二区 | 日韩香蕉视频 | 成人免费视频在 | 蜜桃影像传媒推广 |