本文目录

  • 一、Spring Boot简介
  • 二、快速搭建SpringBoot Hello World
  • 三、打包部署


一、Spring Boot简介

Spring Boot是基于Spring开发。继承了Spring框架原有的优秀特性,和Spring框架紧密结合进一步简化了Spring应用的整个搭建和开发过程。
Spring Boot有一句很出名的话就是约定大于配置,可以大大简化开发模式,集成了大量常用的第三方库配置,如Redis、MongoDB、Dubbo、kafka、ES等等。Spring Boot应用中这些第三方库几乎可以零配置地开箱即用,让开发者更加的专注于业务逻辑。
优点:
1、快速构建一个独立的Spring应用程序
2、嵌入的Tomcat、Jetty或者Undertow,无须部署WAR文件
3、提供starter POMs来简化Maven配置和减少版本冲突所带来的问题
4、对Spring和第三方库提供默认配置,也可修改默认值,简化框架配置
5、提供生产就绪型功能,如指标,健康检查和外部配置
6、无需配置XML,无代码生成,开箱即用


项目目录结构解读:

springboot 打包时指定子项目 springboot项目怎么打包_spring boot


二、快速搭建SpringBoot Hello World

springboot getting-started

新建项目:

springboot 打包时指定子项目 springboot项目怎么打包_spring_02


创建完项目后,pom.xml中加入:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.2</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

src\main\java文件夹下添加控制器:

springboot 打包时指定子项目 springboot项目怎么打包_spring_03


springboot 打包时指定子项目 springboot项目怎么打包_第三方库_04


写入代码:

package cn.justin.controllers;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController // 相当于 @Controller + @ResponseBody 注解
@RequestMapping("/hello") // 类级别的注解
public class HelloController {

    @RequestMapping("/world")
    public String sayHi() {
        return "hello world!";
    }
}

在新建一个启动类:

springboot 打包时指定子项目 springboot项目怎么打包_spring_05


写入代码:

package cn.justin;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//import org.springframework.context.annotation.ComponentScan;

//@ComponentScan(basePackages="cn.justin")
@SpringBootApplication
public class Application {
     public static void main(String[] args) {
         SpringApplication.run(Application.class, args);
     }
}

启动类的位置:最好放在需要扫描包的根目录。这样它在启动时@ComponentScan(basePackages="cn.justin")没有解析读取到basePackages,会将当前启动类所在的包当做扫描包。

然后启动Application

springboot 打包时指定子项目 springboot项目怎么打包_spring boot_06

出现如上图,即跑起来服务了。

浏览器输入http://localhost:8080/hello/world

springboot 打包时指定子项目 springboot项目怎么打包_spring_07


可以看到已经将demo跑起来了。


src\main\resources下新建application.properties配置文件

server.port=8088
server.servlet.context-path=/justin

重新运行:

springboot 打包时指定子项目 springboot项目怎么打包_第三方库_08


三、打包部署

springboot 打包时指定子项目 springboot项目怎么打包_第三方库_09


点击右侧Mavenpackage后会生成jar包:

springboot 打包时指定子项目 springboot项目怎么打包_spring boot_10


可以看到生成了.jar文件夹:

springboot 打包时指定子项目 springboot项目怎么打包_第三方库_11


我们可以通过运行命令:java -jar helloworld-1.0-SNAPSHOT.jar

springboot 打包时指定子项目 springboot项目怎么打包_springboot 打包时指定子项目_12


看项目也是跑起来了,浏览器也是正常运行:

springboot 打包时指定子项目 springboot项目怎么打包_java_13