Spring Boot maven框架搭建教程图解

 更新时间:2020年07月02日 10:53:35   作者:楼兰的胡杨  
这篇文章主要介绍了Spring Boot maven框架搭建教程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

摘要:让Spring应用从配置到运行更加快速,演示DIY Spring Boot框架时,如何配置端口号,如何添加日志。

Spring Boot 框架帮助开发者更容易地创建基于Spring的应用程序和服务,使得开发者能够快速地获得所需要的Spring功能。提供了非功能性的大型项目类特性,如(如内嵌服务器、安全、度量、健康检查、外部化配置),内部封装了tomcat的一些核心jar包,将发布封装了,因此不需要将项目(war包)发布到外部tomcat上。

  可以在Spring Boot官网 https://start.spring.io/ 快速构建项目,这个简单易用,而且会自动生成启动类。本文重点介绍如何使用Eclipse构建。

搭建一个简单的、基于Restfull 风格的Spring web mvc 项目,结构如下:

环境:

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">
<!-- 仓库的地址-->
<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配置如下图所示,如果已经配置,可以忽略此步。

3. 创建maven项目

new-->other-->maven-->Maven Project-->next-->finsh,maven项目就建好了。

包名和项目名根据需求自定义。

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. 添加日志

项目使用了log4j2打印日志。首先,在src/main目录下新增文件夹resources,然后,在resources下创建log4j2.xml。这个日志配置比较简单,有待优化。

<?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. 设置端口号

在resources下创建application.properties。

1. 编写测试代码

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("接收的请求参数 begin --- id = {}", id);
    User user = new User();
    user.setId(id);
    user.setName("Spring Boot");
    return user;
  }
}

通过在UserController中加上@RequestMapping 配置请求路径。通过在main方法中运行SpringApplication.run()来启动项目:

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

这时候项目就可以运行了,在Application 中run as-->java application 。控制台打印结果:

截图中红色方框圈中的文字说明了系统启动成功,而且,端口号是8080。此时在浏览器输入http://localhost:8080/user/100即可看到页面效果:

控制台打印结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java日常练习题,每天进步一点点(1)

    java日常练习题,每天进步一点点(1)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07
  • Go Java算法之解码方法示例详解

    Go Java算法之解码方法示例详解

    这篇文章主要为大家介绍了Go Java算法之解码方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Spring中的Sentinel熔断降级详解

    Spring中的Sentinel熔断降级详解

    这篇文章主要介绍了Spring中的Sentinel熔断降级详解,熔断降级是一种保护系统稳定性和可用性的机制,旨在防止故障的扩散和蔓延,提高用户体验和信任度,需要的朋友可以参考下
    2023-09-09
  • JavaFX实现简易时钟效果(二)

    JavaFX实现简易时钟效果(二)

    这篇文章主要为大家详细介绍了JavaFX实现简易时钟效果的第二篇,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 详解分别用Kotlin和java写RecyclerView的示例

    详解分别用Kotlin和java写RecyclerView的示例

    本篇文章主要介绍了详解分别用Kotlin和java写RecyclerView的示例,详解分别用Kotlin和java写RecyclerView的示例
    2017-12-12
  • Struts中action线程安全问题解析

    Struts中action线程安全问题解析

    这篇文章主要介绍了Struts中action线程安全问题解析,涉及实例代码,还是挺不错的,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • Java调用Zookeeper的实现步骤

    Java调用Zookeeper的实现步骤

    本文主要介绍了Java调用Zookeeper的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Oracle + Mybatis实现批量插入、更新和删除示例代码

    Oracle + Mybatis实现批量插入、更新和删除示例代码

    利用MyBatis动态SQL的特性,我们可以做一些批量的操作,下面这篇文章主要给大家介绍了关于Oracle + Mybatis实现批量插入、更新和删除的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2018-01-01
  • IDEA部署Tomcat的超详细图文教程

    IDEA部署Tomcat的超详细图文教程

    最近迫于无奈从我哪破旧的Eclipse转换到了IDEA,然后就是超多的不习惯,下面这篇文章主要给大家介绍了关于IDEA部署Tomcat的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • javaWeb使用Kaptcha组件生成验证码

    javaWeb使用Kaptcha组件生成验证码

    这篇文章主要为大家详细介绍了javaWeb使用Kaptcha组件生成验证码的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10

最新评论