一、配置文件加载

1、Controller中配置并指向文件

@Controller
@PropertySource(value = { "application.properties" })//指定配置文件

2、在变量上打注解并指明配置文件中的key

@Value("${web.upload.filepath}")//获取配置文件中的配置参数
private String filePath;

二、实体类配置文件

1、添加@Component//文件扫描注解

2、使用@PropertySource({"classpath:jdbc.properties"}) //指定配置文件的位置

3、使用@ConfigurationProperties 或者 @ConfigurationProperties(prefix="jdbc")//前缀,设置相关的属性;

4、使用@Autowired//通过IOC对象自动注入

示例-新建实体类如下:

package cn.xiaobing.demo.pojo;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component; @Component//文件扫描
@PropertySource({"classpath:jdbc.properties"})
//@ConfigurationProperties
@ConfigurationProperties(prefix="jdbc")//前缀
public class JDBCSettings { //@Value("${jdbc.driver}")
//如果属性命名和配置文件中配置name一致就不需要声明@Value("${jdbc.driver}")
private String driver; private String url; private String username; private String password; public String getDriver() {
return driver;
}
public void setDriver(String driver) {
this.driver = driver;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public JDBCSettings(String driver, String url, String username, String password) {
super();
this.driver = driver;
this.url = url;
this.username = username;
this.password = password;
}
public JDBCSettings() {
super();
}
@Override
public String toString() {
return "JDBCSetting [driver=" + driver + ", url=" + url + ", username=" + username + ", password=" + password
+ "]";
}
}

jdbc.properties文件配置信息

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/future?useUnicode=true&characterEncoding=utf-8
jdbc.username=Administrator1
jdbc.password=123456

Controller编码

@RestController
public class GetController {
@Autowired//通过IOC对象自动注入进来
private JDBCSettings jdbcSettings; @GetMapping("/v1/getJdbcProperties")
public Object getJDBCProperties() {
return jdbcSettings;
}
}

启动项目访问:

三、不足之处,后续补充。。。

SpringBoot配置文件自动映射到属性和实体类(8)的更多相关文章

  1. SpringBoot注解把配置文件自动映射到属性和实体类实战

    SpringBoot注解把配置文件自动映射到属性和实体类实战 简介:讲解使用@value注解配置文件自动映射到属性和实体类 1.配置文件加载 方式一 1.Controller上面配置 @Propert ...

  2. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-7.接口配置文件自动映射到属性和实体类配置

    笔记 7.接口配置文件自动映射到属性和实体类配置     简介:使用@value注解配置文件自动映射到属性和实体类 1.添加 @Component或者Configuration 注解:        ...

  3. SpringBoot------注解把配置文件自动映射到属性和实体类

    1.映射到属性 package top.ytheng.demo.controller; import org.springframework.beans.factory.annotation.Valu ...

  4. 利用在线工具根据JSon数据自动生成对应的Java实体类

    如果你希望根据JSon数据自动生成对应的Java实体类,并且希望能进行变量的重命名,那么“JSON To Java”一定适合你.(下面的地址需要FQ) https://jsontojava.appsp ...

  5. T4 模板自动生成带注释的实体类文件

    T4 模板自动生成带注释的实体类文件 - 只需要一个 SqlSugar.dll 生成实体就是这么简单,只要建一个T4文件和 文件夹里面放一个DLL. 使用T4模板教程 步骤1 创建T4模板 如果你没有 ...

  6. EF自动创建数据库步骤之一(实体类写法)

    文章演示使用EF自动创建数据库第一个步骤创建实体类. 一.创建表映射实体类 using System; using System.Collections.Generic; using System.C ...

  7. 解决springboot 配置文件未映射静态资源文件 导致shiro拦截静态资源的问题

    ---------------------------------------------------------------------------------------------------- ...

  8. 基于SpringBoot实现自动装配返回属性

    一:需求背景 在业务开发中经常会有这个一个场景,A(业务表)表中会记录数据的创建人,通常我们会用userId字段记录该数据的创建者,但数据的使用方会要求展示该数据的创建者姓名,故我们会关联用户表拿该用 ...

  9. hibernate 数据库列别名自动映射pojo属性名

    package com.pccw.business.fcm.common.hibernate; import java.lang.reflect.Field; import java.math.Big ...

随机推荐

  1. Nginx系列(9)- Nginx常用命令

    Linux # 命令需要在Nginx的sbin目录下执行 cd /usr/local/nginx/sbin/ ./nginx #启动./nginx -s stop #停止 ./nginx -s qui ...

  2. Linux系列(5) - 目录处理命令(2)

    删除空目录: rmdir rmdir [目录名] 删除文件或目录: rm rm  -rf  [文件或目录] 选项 -r            删除目录 -f                   强制 ...

  3. 启动Jenkins后无法访问,如何排错

    做IT工作,使用各种工具的时候,遇到错误都是一堆英文,对于英语不好的人,看到报错可能就会心烦,我刚开始就是这种状态.后来,遇到问题,首先复制报错信息到百度上搜索,没有人请教的时候,你不能坐等问题自己解 ...

  4. JAVA-java内存分配

    二.java-class的内存分配 三.JAVA string类特别之处 String 通过构造方法创建是在堆内存中, 通过直接赋值对象是在方法区的常量里 四.字符串做拼接 非常耗时和浪费内存的原因 ...

  5. P7599-[APIO2021]雨林跳跃【二分,倍增,ST表】

    正题 题目链接:https://www.luogu.com.cn/problem/P7599 题目大意 \(n\)棵树,在某棵树上时可以选择向左右两边第一棵比它高的树跳,现在\(q\)次询问从\([A ...

  6. 支持remote write和exemplar的prometheus服务

    最近项目组在做Prometheus指标采集和告警,其中用到了Prometheus的exemplar特性,由于该特性比较新,当前支持该特性的存储有比较少.因此需要自行实现exemplar功能. 我在gi ...

  7. ES5新增方法--查找方法--forEach(),filter(),some()区别

    1.forEach方法 迭代(遍历)数组 var arr = [1, 2, 3]; var sum = 0; arr.forEach(function (value, index, array) { ...

  8. 在Unity中渲染一个黑洞

    在Unity中渲染一个黑洞 前言 N年前观看<星际穿越>时,被其中的"卡冈图雅"黑洞所震撼.制作团队表示这是一个最贴近实际的黑洞效果,因为它是通过各种科学理论实现的.当 ...

  9. Radius协议-学习

    目录 RFC Radius 协议 Radius-学习 RADIUS协议的主要特征 客户端/服务器模式 安全的消息交互机制 良好的扩展性 AAA介绍 C/S结构 RADIUS在协议栈中的位置 RADIU ...

  10. tomcat unkonwhost

    服务器能ping通域名,tomcat死活不行,重启tomcat解决