微服务学习笔记(二)— Spring Boot — 特点、工程搭建、配置文件

Spring Boot 是由Pivotal 团队开发的Spring 框架,采用了生产就绪的观点,旨在简化配置,致力于快速开发。

本章内容涵盖Spring boot特点、采用IDEA搭建Spring工程的步骤;配置文件实际案例;多环境配置文件。

一、Spring boot特点:

对比之前的Spring, Spring Boot 有三大特点:自动配置、起步依赖和Actuator 对运行状态的监控。

1.1、自动装配

自动配置就是程序需要什么, Spring Boot 就会装配什么。

1.2、起步依赖

例如:在以前开发过程中,向项目添加依赖是一件非常有挑战的事情。选择版本,解决版本冲突,十分耗费精力。例如,程序需要Spring MVC 的功能,那么需要引入spring-core 、spring-web和spring-webmvc 等依赖,但是如果程序使用Spri ng Boot 的起步依赖,只需要加入spring-boot-starter-web 的依赖,它会自动引入SpringMVC 功能的相关依赖。

1.3、Actuator 组件(运行监控)

Spring Boot 能够提供自动装配和起步依赖, 解决了以前重量级的xml 配置和依赖管理的各种问题。一切都显得那么敏捷、智能,但是却带来了一系列的其他问题: 开发者该怎么知道应用程序中注入了哪些Bean ? 应用程序的运行状态是怎么样的?为了解决这些问题, SpringBoot 提供了Actuator 组件,井提供了对程序的运行状态的监控功能。

 

二、用IDEA构建Spring Boot 工程

2.1 创建web工程

打开“ IDEA ”→“new Project "→“ Spring Assistant”→填写“ group "和“ artifact ”→勾选“ web ”(开启web 功能) → 单击“下一步”。IDEA 会自动下载 Spring Boot 工程的模板。

微服务学习笔记(二)— Spring Boot — 特点、工程搭建、配置文件

微服务学习笔记(二)— Spring Boot — 特点、工程搭建、配置文件

微服务学习笔记(二)— Spring Boot — 特点、工程搭建、配置文件

 

2.2 目录结构

微服务学习笔记(二)— Spring Boot — 特点、工程搭建、配置文件

 

2.3 pom.xml

微服务学习笔记(二)— Spring Boot — 特点、工程搭建、配置文件

 

2.4 启动程序

微服务学习笔记(二)— Spring Boot — 特点、工程搭建、配置文件

 

2.5 建立一个controller

 

微服务学习笔记(二)— Spring Boot — 特点、工程搭建、配置文件

@RestController 注解表明这个类是一个RestCon位oller。@RestController 是Spring4.0版本的一个注解, 它的功能相当于@Controller 注解和@ResponseBody 注解之和。@RequestMapping 注解是配置请求地址的Uri 映射的。

在浏览器中运行结果如下:

 

微服务学习笔记(二)— Spring Boot — 特点、工程搭建、配置文件

三、配置文件详解

在用IDEA 创建一个S pring Boot 工程时,系统默认会在src/main/java/resources 目录下创建一个配置文件appli cation.properties 。它也支持yml 格式的文件,下面以yml 格式的文件为例来讲解如何自定义属性。

 

3.1 自定义属性

微服务学习笔记(二)— Spring Boot — 特点、工程搭建、配置文件

在刚才的HelloController.java 增加方法


 

3.2 将配置文件属性付给实体类

1、修改application.yml


配置文件中用到了${ random },它可以用来生成各种不同类型的随机值。random .int随机生成一个int 类型的值, random .uuid 随机生成一个uuid, random.value 随机生成一个值,random.int( I 0 )随机生成一个小于10 的整数。

2、创建一个 JavaBean

怎么将这些属性赋给一个JavaBean 呢?创建一个JavaBean

在ConfigBean 类上加一个注解@ ConfigurationProperties ,表明该类为配置属性类,并加上配置的prefix ,例如本案例的“ my ” 。

在ConfigBean 类上加@Component 注解, Spring Boot 在启动时通过包扫描将该类作为一个Bean 注入IoC 容器中。


  ......其他getter 、setter 在此省略。

3、创建一个 Controller

创建一个Controller ,读取ConfigBean 类的属性。

在Controller 类上,加@EnableConfigurationProperties 注解,并指明ConfigBean 类


3.3 自定义属性文件

1、新建properties 文件

例如在src/main/resources 目录下自定义一个test.properties 配置文件

com.myweb.name=longweb
com.myweb.age=22

2、创建javabean

需要在类名上加@Configuration 、@Property Source 和@ConfigurationProperties 这3 个注解。


3、在上面的例子,扩充LookController内容


四、多个环境的配置文件

在实际的开发过程中,可能有多个不同环境的配置文件, 例如: 开发环境、测试环境、生产环境等。Spring Boot 支持程序启动时在配置文件applicaition.yml 中指定配置文件,配置文件的格式为application-{profile} properties ,其中{profile }对应环境标识,例如:

application-test.properties 一测试环境
application-dev.properties  一开发环境
application-prod.properties 一生产环境

如何指定这个环境配置文件呢?只需要在application.yml 中加上spring.profiles.active 的配置,该配置指定采用哪一个profiles 。例如使用application-dev.propert,则配置代码如下:


启动工程, 查看控制台打印的日志, 程序的启动端口为8 082 , 而不是默认的8080 , 这说明配置文件生效了。

 

 

(本章结束)