开发第一个SpringBoot程序

使用命令创建Maven工程

复制代码
mvn archetype:generate -DgroupId=org.sang -DartifactId=chapter01 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

参数说明:

-DgroupId 组织Id(项目包名)

-DartifactId 项目名称或模块名称

-DarchetypeArtifactId 项目骨架

-DinteractiveMode 是否使用交互模式

项目构建

复制代码
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.4.RELEASE</version>
</parent>

spring-boot-starter-parent 是一个特殊的Starter,提供了一些Maven的默认配置,同时还提供了dependency-management,可以使开发者在引入其他依赖时不必输入版本号,方便依赖管理。

默认配置如下:

  • Java版本默认使用1.8。
  • 编码格式默认使用UTF-8。
  • 提供Dependency Management 进行项目依赖的版本管理。
  • 默认的资源过滤与插件配置。

开发上虽然方便,但有些公司开发微服务项目或多模块项目时一般需要使用公司自己的parent,这个时候如果还想着进行项目依赖版本的统一管理,就需要使用dependencyManagement来实现了。

复制代码
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.0.4.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

这样就不用继承spring-boot-starter-parent了,但Java的版本,编码的格式等都需要开发者手动配置。Java 版本的配置很简单,添加一个plugin即可:

复制代码
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

编码的配置也很简单,在 pom.xml 添加如下:

复制代码
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
相关推荐
阿杆19 分钟前
同事嫌参数校验太丑,我直接掏出了更优雅的 SpEL Validator
java·spring boot·后端
Grey Zeng9 小时前
Java SE 25新增特性
java·jdk·jdk新特性·jdk25
雨白11 小时前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
昵称为空C14 小时前
SpringBoot3 http接口调用新方式RestClient + @HttpExchange像使用Feign一样调用
spring boot·后端
架构师沉默15 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
Java中文社群16 小时前
重要:Java25正式发布(长期支持版)!
java·后端·面试
zjjuejin16 小时前
Maven环境搭建
后端·maven
每天进步一点_JL17 小时前
JVM 类加载:双亲委派机制
java·后端
用户2986985301418 小时前
Java HTML 转 Word 完整指南
java·后端
渣哥18 小时前
原来公平锁和非公平锁差别这么大
java