二、SpringBoot入门 – 创建项目

在我2015年底开始接触和学习Spring框架的时候,经常被那些繁琐的XML配置文件苦恼,这次我来试试使用Spring Boot,可以更轻易地上手,更简单快捷地构建Spring应用!

Spring Boot让我们的Spring应用变的更轻量化。我们不必像以前那样繁琐的构建项目、打包应用、部署到Tomcat等应用服务器中来运行我们的业务服务。通过Spring Boot实现的服务,只需要依靠一个Java类,把它打包成jar,并通过java -jar命令就可以运行起来。这一切相较于传统Spring应用来说,已经变得非常的轻便、简单。

直接使用IDEA插件Spring Initializr来创建SpringBoot项目,也可以在官网创建,然后下载下来导入到IDEA中。

二、SpringBoot入门 - 创建项目
二、SpringBoot入门 - 创建项目
二、SpringBoot入门 - 创建项目

然后Next到框架选择的地方,首先我们先创建一个最简单的项目,需要选择下面这些框架工具

  1. Web
    1. Spring Web

创建好后,直接点开Demo01Application.java运行main方法,然后打开浏览器访问localhost:8080

二、SpringBoot入门 - 创建项目
二、SpringBoot入门 - 创建项目

这个页面的出现就表示项目已经是正常启动了。

2. 结构解析

2.1 文件结构介绍

二、SpringBoot入门 - 创建项目
  • src/main/java
    • Java代码,包括工具类、Controller、Service
    • Demo01Application.java是程序的入口类
  • src/main/resources
    • 配置文件,静态文件等
    • application.properties是默认的配置文件
  • src/test/

2.2 项目依赖介绍

<?xml version="1.0" encoding="UTF-8"?>
<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 https://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>2.2.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.magic</groupId>
    <artifactId>demo01</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo01</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

复制代码

大致可分为四个部分

  • 项目信息:包括groupId,artifactId,version,name,description标签
  • 继承关系:parent标签声明该项目继承自spring-boot-starter-parent,并且声明为继承自2.2.0.RELEASE版本
  • jar包依赖:dependencies标签包含了具体的jar包依赖情况,如spring-boot-starter-web、spring-boot-starter-test。
  • 构建配置:build标签可以控制Maven构建的参数,默认使用spring-boot-maven-plugin,配合spring-boot-starter-parent可以把SpringBoot应用打包成JAR文件来直接运行

3. 创建一个Controller并测试

在src/main/java/下创建controller/IndexController.java

代码如下

@RestController
public class IndexController {

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

}
复制代码

再次运行程序后,访问http://localhost:8080/index可以看到如下界面

二、SpringBoot入门 - 创建项目

4. 配置文件

首先,Spring Initializr创建的SpringBoot项目默认的是application.properties配置文件,这种配置文件的写法我感觉和写TXT文本没什么区别,我更喜欢yml格式的配置文件,即改用YAML语法的application.yml,这里给大家简单地介绍一下YAML属性配置文件。

4.1 YAML是什么

二、SpringBoot入门 - 创建项目

4.2 基础使用

首先要删除默认的application.properties文件,因为这个配置文件的优先级比yml的要高。然后就可以创建application.yml文件来使用了,不需要其他配置。

其次,YAML的语法是根据缩进、冒号和空格来设置代码段的,在加上IDEA自带的代码提示和排版功能,使用起来非常简单。

server:
  # 端口号
  port: 80
  servlet:
    # 设置上下文访问路径
    context-path: /demo01
复制代码

设置好之后,我们再次运行项目,然后访问http://localhost/demo01/index可以看到相同的结果

二、SpringBoot入门 - 创建项目

原文 

https://juejin.im/post/5dc13038e51d456f28370fe3

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 二、SpringBoot入门 – 创建项目

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址