开发框架Spring Boot 详解

举报
人工智能爱好者 发表于 2020/08/31 11:16:18 2020/08/31
【摘要】 Spring Boot是Spring 为了简化Spring Web开发设计的一个全新框架, 和传统的Spring MVC相比,减少了很多配置、增加了开发效率。Spring Boot的三大特点:1.自动配置Spring Boot自动配置,就是程序需要什么装配什么。比如当程序的pom文件引入了Feign的起步依赖,Spring Boot就会在程序中自动引入默认的Feign的配置Bean。2.起步...

Spring Boot是Spring 为了简化Spring Web开发设计的一个全新框架, 和传统的Spring MVC相比,减少了很多配置、增加了开发效率。

Spring Boot的三大特点:

1.自动配置

Spring Boot自动配置,就是程序需要什么装配什么。比如当程序的pom文件引入了Feign的起步依赖,Spring Boot就会在程序中自动引入默认的Feign的配置Bean。

2.起步依赖

传统的开发过程中,向项目添加依赖常常会选择版本,解决版本冲突,十分耗费精力。而使用Spring Boot的起步依赖,只需要加入Spring-boot-starter-web的依赖,便会自动引入Spring MVC功能的相关依赖。

3.Actuator对运行状态监控

Spring Boot提供了Actuator组件,并提供了程序运行状态的监控功能,这种设计更贴心,让开发人员能够知道注入了哪些Bean,它们的运行状态怎么样?

Spring Boot 目录结构


  • customer:是项目名称;

  • src/main/java:目录下放置所有java文件(源代码文件);

  • src/main/resources:放置所有的配置文件、页面文件、静态资源文件;

  • src/main/resources/static:是静态资源文件目录,在这个目录中的所有文件将可以被直接访问,如果没有这个文件夹可自行创建;

  • src/main/resources/public:作用和src/main/resources/static目录一样。

  • pom.xml:依赖管理文件

Spring Boot 配置文件详解

1.自定义属性

application.properties定义的属性,在控制类中可以在变量上用@Value("$属性名")注解,把属性值赋给一个变量。


2.将配置文件的属性赋给实体类

application.properties定义的属性,在JavaBean中加上注解@ConfigurationProperties表明该类配置属性类,并加上prefix。注解@Component 在启动Spring Boot时扫描该类作为一个Bean注入到IoC容器中。


3. 自定义配置文件

在自定义my.properties定义的属性,使用@Configuration、@PropertySource、
@ConfigurationProperties这3个注解进行配置。


4.多个环境的配置文件

Spring Boot中支持启动时在配置文件application.properties定义的环境配置文件,配置文件格式为application-{profile}.properties。其中{profile}对应环境标识,例如:

  1. application-test.properties —— 测试环境

  2. application-dev.properties —— 开发环境

  3. application-prod.properties —— 生产环境

Actuator运行状态监控

Spring Boot的Actuatort提供了运行状态监控的功能,监控数据可通过REST、shell、JMX方式获得。

1.Actuator基础配置

在pom.xml中引入起步依赖spring-boot-starter-actuator,在application.properties中配置management.port和management.security.enabled,这两个配置,分别表示端口和是否采用非安全验证方式。


2.Actuator端口信息

Actuator提供了13个API接口,用户监控Spring Boot的运行状况。


例如:查看健康状态访问“http://localhost:9001/health”,就会反馈程序运行状态和磁盘状态等信息。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。