前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot七分钟快速实践

Spring Boot七分钟快速实践

作者头像
十毛
发布2019-03-27 15:03:54
3340
发布2019-03-27 15:03:54
举报
文章被收录于专栏:用户1337634的专栏

Spring Boot可以在7分钟内完成一个Web项目的搭建和运行,比Spring MVC效率高不少。本文针对两种不同的使用场景(Web与命令行程序),如何最快速的使用Spring Boot实现

Web后台

只需要3个文件就可以构建一个完整项目,而且启动也不需要依赖第三方组件,直接执行命令

代码语言:javascript
复制
mvn clean package && java -jar target\boot-web-2.1.2.RELEASE.jar

构建

  • pom.xml文件
代码语言:javascript
复制
<?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">
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.2.RELEASE</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>boot-web</artifactId>
    <name>boot-web</name>

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

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

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

spring-boot-maven-plugin插件主要提供了3个方便功能

  • 把依赖的jar包打包成一个jar文件,非常方便运行和发布
  • 找到public static void main()方法所在的类,并标注为可运行类
  • 解析jar包依赖关系,找到匹配当前Spring Boot的版本

  • HelloController.java
代码语言:javascript
复制
@RestController
public class HelloController {
    @GetMapping("/")
    public String index() {
        return "Hello World!";
    }
}
  • Application.java
代码语言:javascript
复制
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

运行

代码语言:javascript
复制
mvn clean package && java -jar target\boot-web-2.1.2.RELEASE.jar

命令行程序

利用SpringBoot使用jar包发布的特性,可以非常方便地实现后台命令行程序。

  • pom.xml
代码语言:javascript
复制
<?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">
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.2.RELEASE</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>boot-cmd</artifactId>

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

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

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
  • Application.java
代码语言:javascript
复制
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Bean
    public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
        return args -> {
            System.out.println("Let's inspect the beans provided by Spring Boot:");
            String[] beanNames = ctx.getBeanDefinitionNames();
            Arrays.sort(beanNames);
            for (String beanName : beanNames) {
                System.out.println(beanName);
            }
        };
    }
}

运行

代码语言:javascript
复制
mvn clean package && java -jar target\boot-cmd-2.1.2.RELEASE.jar

优点

  • 摆脱繁琐的配置文件
  • 自动加载合适版本的jar包,摆脱jar包冲突
  • 以Jar包的方式发布,直接运行,减少对容器的依赖

常见错误

  • 命令行执行完后,进程没有退出。一般是使用了jar包spring-boot-starter-web,需要换成spring-boot-starter

参考

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.01.27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Web后台
    • 构建
      • 运行
      • 命令行程序
        • 运行
        • 优点
        • 常见错误
        • 参考
        相关产品与服务
        云数据库 Redis
        腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档