创建一个SpringBoot工程

创建一个SpringBoot工程

2019.09.07


创建一个SpringBoot工程有三种方式:

  1. 通过官网提供的在线工程生成器生成打包好的工程压缩包。
    官网截屏
    在这里你可以选择

    • 创建一个Maven工程还是一个Gradle工程
    • 使用的开发语言
    • SpringBoot的版本号
    • 工程的细节配置,如组织名称,项目名称等
    • 项目的依赖
  2. 通过IDEA或是STS创建
    这种方式本质上还是使用了第一种方式生成。

  3. 通过修改一个普通的Maven工程来创建SpringBoot工程
    有时SpringBoot官方提供的网站不一定会稳定,因此这就需要我们自己手动改造Maven工程来创建SpringBoot工程。这是官方的文档。下面我也来详细晒出改造步骤与代码


通过改造普通maven工程来创建springboot工程

1、创建一个普通maven工程
2、修改pom文件,导入springboot依赖
3、创建一个springboot应用入口

工程结构如图:
工程结构图

  • pom.xml
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.rain</groupId>
    <artifactId>sbdemo02</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
    </parent>

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

这里我们只需要导入spring-boot-starter-parentspring-boot-starter-web这两个依赖,便可以体验完整的web开发,不用担心缺少DispartcherServlet或是ViewResolver等组件的注入,这些组件的配置其实都被封装在spring-boot-starter-parent依赖中,后面也会详细就这个依赖中的各种自动化配置做一篇记录,这里就不多加赘述了。
不过值得一提的是,springboot官方提供的依赖都是以***spring-boot-starter-xxx***的形式命名,如这里的spring-boot-starter-web;而第三方题提供的依赖则是以***xxx-spring-boot-starter***的形式命名,如mybatis的依赖mybatis-spring-boot-starter等。

  • App.java
@RestController
@EnableAutoConfiguration
public class App {
    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }
    public static void main(String[] args) {
        SpringApplication.run(App .class, args);
    }
}

这是一个springboot应用程序的启动类,由于spring-boot-starter-parent中自动化配置了tomcat服务器插件,如下图:
tomcat插件的依赖配置
因此可以通过启动这个类中主程序的方法来启动服务器。
@RestController
这是一个组合注解,由@Controller与@ResponseBody组合。表示向spring容器中注入一个名叫app的Controller组件。

@EnableAutoConfiguration
表示开启SpringBoot的自动化配置。

利用IDEA创建SpringBoot工程

下面我们再来比较一下由官网创建出的SpringBoot工程与我们自己改造的Maven工程之间的区别。

  • 工程结构
    工程结构
  • pom.xml
<?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.1.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.rain</groupId>
    <artifactId>sbdemo01</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>sbdemo01</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>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
  • Sbdemo01Application.java
@SpringBootApplication
public class Sbdemo01Application {
    public static void main(String[] args) {
        SpringApplication.run(Sbdemo01Application.class, args);
    }
}

这里的主应用类是springboot为我们自动创建的,是程序启动的入口类。值得一提的是,入口类名是SpringBoot根据你的工程名首字母大写后并追加Application形成的。

@SpringBootApplication
这个配置必须加在主程序类上,即入口类上,表示这是一个SpringBoot的应用程序。有关这个注解内部的机制,我的下一篇文章将会有所涉及,这里就一带而过。

  • application.properties
    这个文件中可以配置spring容器中各个组件的基本参数,是springboot应用程序的主配置文件,后续的文章也会关于这个文件做详细的阐述。

关于如何创建springboot工程的基本知识点便是以上的主要内容,感谢观看!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值