开发第一个SpringBoot程序

本文详细介绍了如何使用Maven创建项目,包括使用archetype生成基础工程,并讨论了SpringBootstarterparent的作用以及如何在自定义parent中管理项目依赖和设置Java版本和编码格式。

使用命令创建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>

以下是编写第一个Spring Boot程序的教程: ### 项目构建方式与环境选择 可以选择Maven或Gradle作为项目构建工具,这里以Maven为例。部署形式可以是jar包或传统的war包,示例中选择jar包形式。Spring Boot版本选择2.1.6,开发语言选择JavaSpring Boot也支持以Groovy语言开发 [^5]。 ### 添加依赖 若要编写RESTFul风格的接口,需要在`pom.xml`中引入以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ``` [^4] ### 编写主程序类 主程序类是Spring Boot应用的入口,需要使用`@SpringBootApplication`注解来标注。以下是一个示例: ```java package com.mashunda; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /* * @SpringBootApplication来标注一个主程序类,说明这是一个spring boot应用 */ @SpringBootApplication public class HelloWorldMainApplication { public static void main(String[] args) { // spring boot 应用启动起来 SpringApplication.run(HelloWorldMainApplication.class, args); } } ``` [^1] ### 编写控制器类 使用`@RestController`和`@EnableAutoConfiguration`注解编写一个简单的控制器类,用于处理HTTP请求。示例代码如下: ```java package com.xxx.firstboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @RestController:spring mvc的注解, * 相当于@Controller与@ResponseBody的合体,可以直接返回json * * @EnableAutoConfiguration:spring boot的注解 * 是无配置启动的关键部分 */ @RestController @EnableAutoConfiguration public class FirstBoot { @RequestMapping("/hello") public String testFirstMethod(){ return "Hello jigang!!!"; } /** * spring boot的入口,在整个项目中,包括其子项目在内, * 只能有一个main方法,否则spring boot启动不起来 */ public static void main(String[] args) { SpringApplication.run(FirstBoot.class, args); } } ``` [^2] ### 启动程序 提供一个包含`main`方法的启动类,并使用`@SpringBootApplication`进行标识为当前程序的入口启动类。打开默认的启动类(如`HelloApplication`),点击左侧箭头启动`main`方法即可启动Spring Boot应用 [^3]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值