溫馨提示×

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

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

JavaEE微框架Spring Boot深入解讀

發(fā)布時(shí)間:2020-10-07 07:05:40 來(lái)源:腳本之家 閱讀:149 作者:u014427391 欄目:編程語(yǔ)言

前言

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

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

Spring Boot充分利用了JavaConfig的配置模式以及“約定優(yōu)于配置”的理念,能夠極大的簡(jiǎn)化基于Spring MVC的Web應(yīng)用和REST服務(wù)開發(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文件夾里

<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àng)目結(jié)構(gòu)如圖

JavaEE微框架Spring Boot深入解讀

寫個(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)屬性使用

@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);
  }
}

寫個(gè)Controller類:

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)入不想自己寫demo,可以通過http://start.spring.io/ ,在平臺(tái)自動(dòng)生成一個(gè)demo代碼,然后打開項(xiàng)目就好

Spring Boot部署

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

JavaEE微框架Spring Boot深入解讀

JavaEE微框架Spring Boot深入解讀

訪問:

JavaEE微框架Spring Boot深入解讀

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

向AI問一下細(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