目录

  • 1 初识Java EE
    • 1.1 新建目录
    • 1.2 新建目录
  • 2 Spring Boot知识回顾
    • 2.1 学习目标
    • 2.2 ​Spring Boot简介
      • 2.2.1 Eclipse中Spring Boot开发环境安装
      • 2.2.2 Eclipse中手工构建Spring Boot项目(一)
      • 2.2.3 Eclipse中手工构建Spring Boot项目(二)
      • 2.2.4 Spring Tool Suite中构建Spring boot项目
      • 2.2.5 Spring Boot的开发步骤
  • 3 Spring Boot核心配置
    • 3.1 学习目标
    • 3.2 Spring Boot核心配置
    • 3.3 基本配置
    • 3.4 日志配置
    • 3.5 读取应用配置
  • 4 Spring Boot的Web开发
    • 4.1 学习目标
    • 4.2 Spring Boot的Web开发支持
    • 4.3 Thymeleaf模板引擎
      • 4.3.1 Spring Boot与Thymeleaf实现页面信息国际化
      • 4.3.2 Spring Boot与Thymeleaf的表单验证
    • 4.4 Spring Boot处理JSON数据
    • 4.5 Spring Boot文件上传与下载
    • 4.6 Spring Boot的异常统一处理
    • 4.7 Spring Boot对JSP的支持
    • 4.8 Spring Boot与MyBatis的集成
    • 4.9 Spring Boot与MyBatis整合(项目重构)
  • 5 Spring Boot的数据访问
    • 5.1 学习目标
    • 5.2 REST
      • 5.2.1 REST 简介
      • 5.2.2 Spring Boot整合REST
      • 5.2.3 Spring Data REST
    • 5.3 Spring Data JPA
      • 5.3.1 简单条件查询-案例专家抽取系统
      • 5.3.2 关联查询 (一对一)
      • 5.3.3 关联查询 (一对多)
      • 5.3.4 关联查询 (多对多)
      • 5.3.5 @Query和@Modifying注解
      • 5.3.6 排序与分页查询
    • 5.4 Spring Boot使用JdbcTemplate
    • 5.5 Spring Boot的事务管理
    • 5.6 MongoDB
    • 5.7 Redis
      • 5.7.1 安装Redis
      • 5.7.2 SpringBoot整合Redis
      • 5.7.3 使用StringRedisTemplate和RedisTemplate
    • 5.8 数据缓存Cache
      • 5.8.1 Spring Boot缓存支持
      • 5.8.2 Redis Cache运行测试
      • 5.8.3 ehCache
  • 6 Spring Boot的安全控制
    • 6.1 学习目标
    • 6.2 Spring Security快速入门
    • 6.3 基于Spring Data JPA的Spring Boot Security操作实例
    • 6.4 基于MyBatis的Spring Boot Security操作实例
  • 7 异步消息
    • 7.1 学习目标
    • 7.2 消息模型
    • 7.3 JMS消息代理
    • 7.4 AMQP消息代理
  • 8 Spring Boot的热部署与单元测试
    • 8.1 学习目标
    • 8.2 开发的热部署
      • 8.2.1 模板引擎的热部署
      • 8.2.2 使用spring-boot-devtools进行热部署
    • 8.3 Spring Boot的单元测试
  • 9 监控Spring Boot应用
    • 9.1 学习目标
    • 9.2 端点的分类与测试
    • 9.3 自定义端点
    • 9.4 自定义HealthIndicator
  • 10 电子商务平台开发
    • 10.1 学习目标
    • 10.2 系统设计与实现
    • 10.3 后台管理子系统
    • 10.4 前端页面子系统
读取应用配置
  • 1 知识讲解
  • 2 案例2
  • Environment

Environment是一个通用的读取应用程序运行时的环境变量的类,可以通过key-value方式读取application.properties、命令行输入参数、系统属性、操作系统环境变量等。

例【4-1】使用Environment类读取application.properties配置文件的内容。

1.创建Spring Boot项目ch4_1

使用STS快速创建Spring Boot Web应用ch4_1,项目目录结构如图1所示。

2.添加配置文件内容

在src/main/resources目录下,找到全局配置文件application.properties,并添加如下内容:

test.msg=read config

3.创建控制器类EnvReaderConfigController

在src/main/java目录下,创建名为com.ch.ch4_1.controller的包(是com.ch.ch4_1包的子包,保障注解全部被扫描),并在该包下创建控制器类EnvReaderConfigController。在控制器类EnvReaderConfigController中,使用@Autowired注解依赖注入Environment类的对象

@RestController

publicclass EnvReaderConfigController{

  @Autowired

  private Environment env;

  @RequestMapping("/testEnv")

  public String testEnv() {

  return "方法一:" +env.getProperty("test.msg") ;

//test.msg为配置文件application.properties中的key

  }

}

4.启动Spring Boot应用

运行Ch41Application类的main方法,启动Spring Boot应用。



  • @Value注解

使用@Value注解读取配置文件内容示例代码如下:

@Value("${test.msg}")

//test.msg为配置文件application.properties中的key

private String msg;

//通过@Value注解将配置文件中key对应的value赋值给变量msg


@ConfigurationProperties注解

    使用@ConfigurationProperties首先建立配置文件与对象的映射关系,然后在控制器方法中使用@Autowired注解将对象注入。


@PropertySource

    我们可以使用@PropertySource注解找到项目的其他配置文件,然后结合一种方式读取即可。