最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Boot maven框架搭建教程圖解

 更新時(shí)間:2020年07月02日 10:53:35   作者:樓蘭的胡楊  
這篇文章主要介紹了Spring Boot maven框架搭建教程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

摘要:讓Spring應(yīng)用從配置到運(yùn)行更加快速,演示DIY Spring Boot框架時(shí),如何配置端口號(hào),如何添加日志。

Spring Boot 框架幫助開發(fā)者更容易地創(chuàng)建基于Spring的應(yīng)用程序和服務(wù),使得開發(fā)者能夠快速地獲得所需要的Spring功能。提供了非功能性的大型項(xiàng)目類特性,如(如內(nèi)嵌服務(wù)器、安全、度量、健康檢查、外部化配置),內(nèi)部封裝了tomcat的一些核心jar包,將發(fā)布封裝了,因此不需要將項(xiàng)目(war包)發(fā)布到外部tomcat上。

  可以在Spring Boot官網(wǎng) https://start.spring.io/ 快速構(gòu)建項(xiàng)目,這個(gè)簡(jiǎn)單易用,而且會(huì)自動(dòng)生成啟動(dòng)類。本文重點(diǎn)介紹如何使用Eclipse構(gòu)建。

搭建一個(gè)簡(jiǎn)單的、基于Restfull 風(fēng)格的Spring web mvc 項(xiàng)目,結(jié)構(gòu)如下:

環(huán)境:

eclipse:Oxygen Release (4.7.0);java version :"1.8.0_77";

maven:3.5.4;Servlet3容器(tomcat)

1. 配置maven的settings.xml

配置文件中加入了阿里巴巴的鏡像。

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- 倉(cāng)庫(kù)的地址-->
<localRepository>E:/MyLibs</localRepository>
<pluginGroups>

</pluginGroups>
<proxies>

</proxies>
<servers>

</servers>
<mirrors>
  <mirror>
    <id>alimaven-central</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
  </mirror>
  <mirror>
    <id>jboss-public-repository-group</id>
    <mirrorOf>central</mirrorOf>
    <name>JBoss Public Repository Group</name>
    <url>http://repository.jboss.org/nexus/content/groups/public</url>
  </mirror>
</mirrors>
<profiles>
</profiles>
</settings>

2. Eclipse配置Maven

Maven配置如下圖所示,如果已經(jīng)配置,可以忽略此步。

3. 創(chuàng)建maven項(xiàng)目

new-->other-->maven-->Maven Project-->next-->finsh,maven項(xiàng)目就建好了。

包名和項(xiàng)目名根據(jù)需求自定義。

4. 配置pom文件

<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.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.4.0.RELEASE</version>
 </parent>
 <groupId>com.spring.boot</groupId>
 <artifactId>TestWebApp</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <packaging>jar</packaging>
 <name>TestWebApp</name>
 <url>http://maven.apache.org</url>
 <properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>
 <dependencies>
  <dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <scope>test</scope>
  </dependency>
  <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
      <exclusion>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-logging</artifactId>
      </exclusion>
    </exclusions>
  </dependency>
  <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-log4j2</artifactId>
  </dependency>
  
 </dependencies>
 <build>
  <plugins>
  <plugin>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-maven-plugin</artifactId>
  </plugin>
  </plugins>
 </build>
</project>

5. 添加日志

項(xiàng)目使用了log4j2打印日志。首先,在src/main目錄下新增文件夾resources,然后,在resources下創(chuàng)建log4j2.xml。這個(gè)日志配置比較簡(jiǎn)單,有待優(yōu)化。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY" />
      <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" />
    </Console>
    <File name="log" fileName="log/webApp.log" append="false">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" />
    </File>
    <RollingFile name="RollingFile" fileName="log/webAppRoll.log" filePattern="log/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log">
      <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" />
      <SizeBasedTriggeringPolicy size="50MB" />
    </RollingFile>
  </appenders>
  <loggers>
    <root level="INFO">
      <appender-ref ref="RollingFile" />
      <appender-ref ref="Console" />
    </root>
  </loggers>
</configuration>

6. 設(shè)置端口號(hào)

在resources下創(chuàng)建application.properties。

1. 編寫測(cè)試代碼

javaBean定義如下,包括用戶ID和用戶名。

import java.io.Serializable;
public class User implements Serializable {
  private static final long serialVersionUID = 7797704227043955944L;
  
  private Long id;
  private String name;
  //  getter/setter omitted
  @Override
  public String toString() {
    return "User [id=" + id + ", name=" + name + "]";
  }
}

控制器代碼:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/user")
public class UserController {
  private static Logger logger = LoggerFactory.getLogger(UserController.class);
  /**
   * @Title view<br/>
   * @Description 示例地址 http://localhost:8080/user/100 <br/>
   * @param id
   * @return
   * @Author 樓蘭的胡楊<br/>
   * @Time 2018-08-26 11:47<br/>
   */
  @RequestMapping("/{id}")
  public User view(@PathVariable("id") Long id) {
    logger.info("接收的請(qǐng)求參數(shù) begin --- id = {}", id);
    User user = new User();
    user.setId(id);
    user.setName("Spring Boot");
    return user;
  }
}

通過在UserController中加上@RequestMapping 配置請(qǐng)求路徑。通過在main方法中運(yùn)行SpringApplication.run()來啟動(dòng)項(xiàng)目:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {  
  public static void main(String[] args) {
    SpringApplication.run(Application.class);
  }
}

這時(shí)候項(xiàng)目就可以運(yùn)行了,在Application 中run as-->java application ??刂婆_(tái)打印結(jié)果:

截圖中紅色方框圈中的文字說明了系統(tǒng)啟動(dòng)成功,而且,端口號(hào)是8080。此時(shí)在瀏覽器輸入http://localhost:8080/user/100即可看到頁(yè)面效果:

控制臺(tái)打印結(jié)果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Java文件下載的幾種實(shí)現(xiàn)方式

    詳解Java文件下載的幾種實(shí)現(xiàn)方式

    這篇文章主要介紹了詳解Java文件下載的幾種實(shí)現(xiàn)方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • 解決JMap抓取heap使用統(tǒng)計(jì)信息報(bào)錯(cuò)的問題

    解決JMap抓取heap使用統(tǒng)計(jì)信息報(bào)錯(cuò)的問題

    這篇文章主要介紹了解決JMap抓取heap使用統(tǒng)計(jì)信息報(bào)錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Java實(shí)現(xiàn)五子棋的基礎(chǔ)方法

    Java實(shí)現(xiàn)五子棋的基礎(chǔ)方法

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)五子棋的基礎(chǔ)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • AQS同步組件CyclicBarrier循環(huán)屏障用例剖析

    AQS同步組件CyclicBarrier循環(huán)屏障用例剖析

    這篇文章主要為大家介紹了AQS同步組件CyclicBarrier循環(huán)屏障用例剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • java中aop實(shí)現(xiàn)接口訪問頻率限制

    java中aop實(shí)現(xiàn)接口訪問頻率限制

    本文主要介紹了java中aop實(shí)現(xiàn)接口訪問頻率限制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 關(guān)于SSM框架下各層的解釋說明(Controller等)

    關(guān)于SSM框架下各層的解釋說明(Controller等)

    這篇文章主要介紹了關(guān)于SSM框架下各層的解釋說明(Controller等),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • SpringMVC互聯(lián)網(wǎng)軟件架構(gòu)REST使用詳解

    SpringMVC互聯(lián)網(wǎng)軟件架構(gòu)REST使用詳解

    這篇文章主要為大家詳細(xì)介紹了SpringMVC互聯(lián)網(wǎng)軟件架構(gòu)REST的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Java單例模式、饑餓模式代碼實(shí)例

    Java單例模式、饑餓模式代碼實(shí)例

    這篇文章主要介紹了Java單例模式、饑餓模式代碼實(shí)例,本文直接給出代碼實(shí)例,需要的朋友可以參考下
    2015-05-05
  • Spring Security單項(xiàng)目權(quán)限設(shè)計(jì)過程解析

    Spring Security單項(xiàng)目權(quán)限設(shè)計(jì)過程解析

    這篇文章主要介紹了Spring Security單項(xiàng)目權(quán)限設(shè)計(jì)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • springboot如何集成Swagger2

    springboot如何集成Swagger2

    這篇文章主要介紹了springboot集成Swagger2的方法,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-12-12

最新評(píng)論

永安市| 昌宁县| 阿图什市| 北京市| 泰顺县| 吐鲁番市| 隆林| 邵阳市| 无棣县| 科技| 云安县| 通州市| 普定县| 额尔古纳市| 杭锦旗| 会同县| 南雄市| 广宗县| 旌德县| 栖霞市| 武汉市| 大竹县| 墨脱县| 内乡县| 云安县| 德江县| 夏津县| 光泽县| 望江县| 永吉县| 称多县| 广昌县| 扎赉特旗| 朝阳市| 金平| 曲松县| 海南省| 溆浦县| 且末县| 内黄县| 都江堰市|