开发第一个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>
相关推荐
java1234_小锋4 分钟前
Spring AI 2.0 开发Java Agent智能体 - 结构化输出
java·人工智能·spring
asdfg12589635 分钟前
Java 大型项目设计的“内功心法”---面向对象和接口编程
java·开发语言
ch.ju6 分钟前
Java programming Chapter Three——Array
java·开发语言
努力努力再努力wz19 分钟前
【Qt入门系列】第一个 Qt Widgets 程序:项目创建、UI 文件、Hello World、对象树与 qDebug 日志
java·c语言·开发语言·数据结构·c++·qt·ui
东南门吹雪29 分钟前
Spring事务传播机制深度解析
java·数据库·spring
XS03010631 分钟前
Java基础 List集合
java·windows·list
凤凰院凶涛QAQ32 分钟前
《C++转Java快速入手系列》抽象类和接口篇
java·开发语言·c++
MuYiLuck35 分钟前
01-spring-boot-autoconfig-principle
java·spring·maven·自动配置
河阿里36 分钟前
Lambda表达式(Java):从语法本质到工程实践
java·开发语言