Spring boot 搭建工程流程

本文详述了Spring Boot的工程搭建流程,包括通过官方引导、普通Maven工程、IDE工具等方式。讨论了配置文件如`application.properties`中的设置,如端口、模板引擎Thymeleaf的配置。此外,还涵盖了日志配置、Swagger2集成以及自定义Starter的创建。Spring Boot的特性如自动配置、模板引擎和错误处理使得开发更加便捷。
摘要由CSDN通过智能技术生成

快速开始spring boot应用
官方向导搭建boot应用
1.地址:http://start.spring.io/
2.设置项目属性:

3.解压,拷贝到工作空间,导入maven项目
4.写Controller: HelloController.java

5.启动Spring Boot入口类:DemoApplication

普通maven工程搭建boot应用
1.新建一个普通的maven工程,选择quickstart
【注意:Spring boot是web工程,但是我们这里只需要建立quickstart即可,因为spring boot内嵌了servlert容器】

2.查看官方文档:https://projects.spring.io/spring-boot/  点击quick start

3.选择版本【1.5.10.RELEASE】,建议:生产环境中选择稳定的版本
4.拷贝依赖的父pom到自己的工程pom文件中:

org.springframework.boot
spring-boot-starter-parent
1.5.10.RELEASE



org.springframework.boot
spring-boot-starter-web


5.从上面的第一个boot项目的pom中拷贝项目构建的内容到当前工程中(以下内容为每个maven项目都必须要的):

                               org.springframework.boot             spring-boot-maven-plugin              

6.如果项目出现红叉,选择项目 – 》右键 --》Maven–》Update Project
7.拷贝文档中的事例代码SampleController.java到工程中
8.Run as --> Java Application启动SampleController.java
9.浏览器输入:http://localhost:8080/ 即可

当然,除了以上两种方式搭建boot工程,也可以通过其它工具快速生成,例如idea ,  sts,spring boot cli等
这些工具集成了spring boot特性 ,可以一键生成springboot工程骨架

Starter POM
统一父POM管理
建立boot-parent工程
好,首先我们建立一个 boot-parent的maven工程:

然后修改pom.xml
1.packaging改为为pom格式:
pom
2.加入dependencyManagement, 同时去掉version, 直接使用父pom中的版本即可

3.删除无用的源文件,只保留pom.xml

4.修改pom.xml,加入如下内容,从上面获取即可:

那么我们要成为一个springboot项目,必须要引入他的父pom对不对:
于是加入他的父pom:

org.springframework.boot
spring-boot-parent
1.5.10.RELEASE

建立boot-base工程:
建立boot-base工程,实现之前的helloworld功能:
1.在boot-parent工程上面,建立maven module模块工程

2.把之前的SampleController.java复制过来,但是会报错,这时候,加入如下内容:

org.springframework.boot
spring-boot-starter-web

1.如果报错,如下:

2.需要修改父pom.xml中内容,boot-parent中的pom.xml,加入如下内容:

3.启动SampleController,然后访问:http://localhost:8080/
spring boot一个很重要的特点:解决了所有依赖的版本问题
spring boot 测试
1.添加测试支持依赖:spring-boot-starter-test

org.springframework.boot
spring-boot-starter-test
test

注意:加入这个依赖之后,junit包就可以不用了,因为test的starter中包含了junit
备注:怎么找到所有的starter:

这里面ctrl +f 搜索:starter,就可以看到spring boot中的所有starter

1.在测试包中建立测试程序类,测试SampleController

3.编写测试类:

so easy
spring boot 启动注解分析
1.@EnableAutoConfiguration:开启自动配置功能
@ComponentScan(basePackages={“com.example.boot”}) 包扫描

2.@SpringBootApplication配置详解:
他是一个组合注解,他内部主要包含三个子注解:@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan

@SpringBootConfiguration:他继承@Configuration,说明这是一个配置类,什么是配置类呢?就相当于我们以前写的xml配置,例如我们我们的bean标签,用来实例化一个bean。那么在这个配置类中就是实现以前我们xml配置的功能

@EnableAutoConfiguration:开启自动配置功能,他会扫描带有@Configuration的类,然后初始化这些配置类中的信息并且加入到应用上下文中去,同时完成一些基本的初始化工作

@ComponentScan:组件包扫描,也就是我现在需要扫描哪些包下面的注解,可自动发现和装配一些bean。默认扫描当前启动类所在包下面的类和下面的所有子包
spring boot 热加载/部署
1.加入springloaded

org.springframework
springloaded

2.加入spring-boot-devtools

org.springframework.boot
spring-boot-devtools

3.启动程序,访问浏览器出现第一个结果,然后修改控制器输出内容,再次刷新看到新的结果
同时在控制台可以看待这样一句话:
o.s.b.d.a.OptionalLiveReloadServer    : LiveReload server is running on port 35729

项目打包部署
1.修改boot-parent中pom.xml文件,增加如下内容(当然也可以把下面的内容复制到子模块中也是可以的)

org.springframework.boot spring-boot-maven-plugin com.example.boot.SpringBootMain repackage

2.执行maven install
3.在target目录下面,可以看到打包的jar文件
4.执行java -jar xx.jar
例如:
D:\tools\javaSE1.8\jdk1.8\bin>java.exe -jar D:\01_dev_env\repos\com\example\boot\boot-base\0.0.1-SNAPSHOT\boot-base-0.0.1-SNAPSHOT.jar
【注意:执行jar的jdk版本需要与jar打包编译的版本一致。如果配置了环境变量,直接使用java命令打包即可】

这就是微架构,一个程序打包之后轻轻松松在如任何地方一执行就完成了。

Spring Boot属性配置文件详解
修改端口
application.properties:
server.port=8888
另外,也可以直接在运行jar包的时候修改
java -jar xx.jar --server.port=8888
自定义属性及获取
1.application.properties中[文件改成UTF-8]:
teacher.id=1
teacher.name=zhangsan
2.@Value("KaTeX parse error: Expected '}', got 'EOF' at end of input: …ller { @Value("{ teacher.name}")
private String teacherName;
    @RequestMapping("/")
    @ResponseBody
    public String home() {
        return “Hello World!” + this.teacherName;
    }
}
参数引用
application.properties
teacher.id=1
teacher.name=zhangsan
teacher.info=Teacher ${ teacher.name}'s number is ${ teacher.id}
随机内容生成

随机字符串

random.string=${random.value}

随机int

random.number=${random.int}

随机long

random.long=${random.long}

1-20的随机数

random.b=${random.int[1,20]}
多环境配置
我们在开发应用时,通常一个项目会被部署到不同的环境中,比如:开发、测试、生产等。其中每个环境的数据库地址、服务器端口等等配置都会不同,对于多环境的配置,大部分构建工具或是框架解决的基本思路是一致的,通过配置多份不同环境的配置文件,再通过打包命令指定需要打包的内容之后进行区分打包,Spring Boot也提供了支持
在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:
application-dev.properties:开发环境
application-test.properties:测试环境
application-prod.properties:生产环境
至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。
比如:spring.profiles.active=dev就会加载application-dev.properties配置文件中的内容
案例:

在dev, test, prod这三个文件均都设置不同的server.port端口属性,如:dev环境设置为8081,test环境设置为8082,prod环境设置为8083
application.properties中设置spring.profiles.active=dev,就是说默认以dev环境设置
总结:
1.application.properties中配置通用内容,并设置spring.profiles.active=dev,以开发环境为默认配置
2.appli

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值