springboot - 自定义配置类

2023-11-07

拿datasource举栗子





package com.example.demo.config;

import com.alibaba.druid.pool.DruidDataSource;
import com.example.demo.properties.JdbcPro;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.context.annotation.PropertySource;

import javax.sql.DataSource;
@Slf4j
@Configuration
@EnableConfigurationProperties(JdbcPro.class)
public class DataSouce1Config {
    @Value("${my.name}")
    private String name ;
    @Value("${spring.datasource.url}")
    private String dbUrl;

    @Value("${spring.datasource.username}")
    private String username;

    @Value("${spring.datasource.password}")
    private String password;

    @Value("${spring.datasource.driver-class-name}")
    private String driverClassName;


    @Bean
    @Primary
    public DataSource dataSource(){

        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setUrl(this.dbUrl);
        druidDataSource.setUsername(username);
        druidDataSource.setPassword(password);
        druidDataSource.setDriverClassName(driverClassName);
        log.info("cccccccccccccccc");
        log.info(this.name);
        return druidDataSource;
    }

}

需要解释的注解

@Configuration可理解为用spring的时候xml里面的<beans>标签
@Configuration注解可以用java代码的形式实现spring中xml配置文件配置的效果。

个人理解: 因为springboot 在需要自定义配置的时候,推荐使用java类的方式来配置,而@Configuration则就是把该类当成一个配置文件,上面也提到了相当于<beans>

@Bean可理解为用spring的时候xml里面的<bean>标签
@Value 获取properties中的属性值
@Primary 个人理解:设置该项为默认配置

这个是关于自定义属性,与属性引入需要的注解

@ConfigurationProperties注解主要用来把properties配置文件转化为bean来使用的
@EnableConfigurationProperties注解的作用是@ConfigurationProperties注解生效。
如果只配置@ConfigurationProperties注解,在IOC容器中是获取不到properties配置文件转化的bean的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springboot - 自定义配置类 的相关文章

  • 【IMX6UL开发板试用体验】OpenWRT有线网络的配置

    在前面编译完成后 就可以烧写测试启动了 但是启动后发现了一些问题 本次我们说明一下如何使用OpenWrt中的wired LAN 网卡驱动问题 本身板子有两个网口 其中一个没有变压器转换器 另外一个在Uboot中使用是没有问题的 可以正常的t
  • 力扣 455. 分发饼干

    class Solution public int findContentChildren int g int s Arrays sort g 对 g 数组排序 Arrays sort s int count 0 统计孩子满足的个数 int
  • Selenium自动化测试工具的简单介绍和使用

    Selenium Selenium what 进行web网站的自动化测试 提供了操控网页的功能 包括向网页中put和从网页中get how 提供了库 针对不同语言提供了不同语言的库 一 自动化原理 三部分组成 自动化程序 浏览器驱动器 浏览
  • 口语理解任务源码详解系列(三)利用BiRNN-attention模型实现

    利用RNN attention模型实现 写在前面 在前文介绍了项目的数据集构建 传送门 以及利用seq2seq attention模型实现意图分类与槽位填充任务 传送门 本文利用BiRNN attention实现 实现细节请参考论文 Att
  • 51单片机按键控制数码管0~9_51单片机的第四课

    51单片机第三课 按键 本文使用的是STC89C52RC学习的主要内容是按键和数码管进阶 目录 目录 今日一言 按键 轻触开关 按键和轻触开关 准双向口 按键输入原理 实现按键控制点亮LED 按键输入电平状态的变化 数码管计数进阶 今日一言
  • maven创建springboot微服务项目,到打包完整案例

    1 在IDEA中点击File New Project如图 2 点击Next下一步然后创建项目 项目名根据自己需求 3 创建好的项目是这样的如图 4 在pom xml引入maven坐标
  • DataFrame中的count()函数,以及常用的统计方法

    目录 count 函数 pandas DataFrame count DataFrame中常见的其他方法 分组统计 count 函数 官方API为 pandas DataFrame count DataFrame count axis 0
  • 几种常用接口调用方式介绍

    API 全称叫做Application Programming interface 也就是应用程序接口 API是一些预先定义的函数 我是学Java的 当我要使用这些函数的时候 便可以直接调用Java API 不用去访问源码 也不用去理解其中
  • 【Linux基础】CentOS 7环境下安装高版本GCC (gcc/g++ 9.3)

    CentOS 7升级GCC 正文开始 Assassin 目录 CentOS 7升级GCC 基本执行步骤 1 切换用户 2 安装centos release scl 3 安装devtoolset 4 激活对应的devtoolset 5 查看g
  • MySQL如何查询表中重复的数据

    文章目录 一 查询重复记录 二 总结 一 查询重复记录 例 查询员工表里出现重复姓名的记录 思路 1 查看重复记录 首先要使用分组函数 group by 再用聚合函数中的计数函数count name 给姓名列计数 且使用group by 后
  • 计算机重启如何进入设置界面,win7电脑无法正常启动,一开机就进入到bios设置界面怎么办?...

    虽然说bios设置界面中win7电脑中不可分割的一部分 但是一般情况下 bios设置界面的启动和正常进入到系统的路径是不一样的 熟悉这个操作的朋友都知道 要进入到win7系统的bios设置界面中 咱们需要在系统启动的时候按下键盘上的F2或者
  • Mac下Android Studio环境搭建

    本篇还原了本人在Macbook pro上安装Android Studio2 0的过程 安装环境是OS X EI Capitan 10 11 4 下载Java SDK包 Android Studio安装包 android SDK包 这些资源在
  • python 30天_【IT专家】我如何使用Python(最新的)精确计算过去30天?

    本文由我司收集整编 推荐下载 如有疑问 请与我司联系 我如何使用 Python 最新的 精确计算过去 30 天 我如何使用 Python 最新的 精确计算过去 30 天 英 How would I compute exactly 30 da
  • c# 调用c++ lib静态库

    四个步骤 1 创建C Win32项目动态库dll 2 在Win32项目动态库中添加 外部依赖项 lib头文件和lib库 3 导出C接口 4 c 调用c 动态库 开始你的表演 创建一个空白的解决方案 在解决方案中添加 Visual C Win
  • WORD文档复制在CSDN无法正常上传图片

    很多编辑者喜欢在word上写完东西后 再复制到CSDN上发布 word文档复制在CSDN上往往文字没有影响 但是图片无法正常上传 分析 原因大概是word中的图片本身就不是原图片 而是复制其他来源的图片 此时CSDN上传图片时找不到原链接
  • flask 中类视图的使用(一)

    类视图 之前我们接触的视图都是函数 所以一般简称视图函数 其实视图也可以基于类来实现 类视图的好处是支持继承 但是类视图不能跟函数视图一样 写完类视图还需要通过app add url rule url rule view func 来进行注
  • 【状态估计】基于卡尔曼滤波器和扩展卡尔曼滤波器用于 INS/GNSS 导航、目标跟踪和地形参考导航研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 算例1 2 2 算例2 2 3 算例3 3 参考文献 4 Matlab代码及数据 1
  • 前端Vue框架

    封装了HTML CSS JS的代码 按需搭建 特点 是一个轻量级的前端框架 双向绑定 数据动态更新 是一个渐进式的框架 其核心是数据驱动 组件化前端开发 Vue关注的 操作的是数据 第一步 需要将vue js文件导入到你的工程中 并把文件引
  • Column 'id' in where clause is ambiguous

    使用mysql数据库进行左右连接查询的时候出现错误提示 Column id in where clause is ambiguous 这个错误in where clause is ambiguous多半是因为多表查询的时候几个表中同时出现了
  • 【C#】《三子棋》

    使用 数组 函数 循环 实现一个超级简单的三子棋 总共200行代码 先来看看成果 运行程序 显示出菜单 选择1 开始游戏 玩家先 输入坐标 如 1 1 为电脑 为玩家 玩家胜利 按任意键继续 返回菜单 首先分别创建一个头文件和两个源文件 g

随机推荐

  • NeRF与三维重建专栏(一)领域背景、难点与数据集介绍

    前言 关于该系列专栏 主要介绍NeRF在三维重建中的应用 这里我们特指MVS multi view stereo 也即输入带位姿的图片 输出三维结构例如点云 mesh等 并且后面的工作也都是围绕MVS with NeRF讨论的 虽然也有wi
  • Spark 总结项目一---报错:bigger than spark.driver.maxResultSize

    七 spark集群报错 bigger than spark driver maxResultSize 难点 报错代码 20 09 15 15 21 32 ERROR scheduler TaskSetManager Total size o
  • Android Small插件化框架--启动插件Activity源码解析(下)

    转自 http m blog csdn net article details id 53158432 参考博文 http www tuicool com articles EjEJNrJ http m w2bc com article 1
  • 四、基础数据结构和算法:简单排序算法

    4 简单排序算法 4 1 冒泡排序 4 1 1 步骤 方式1 首先实现一趟冒泡排序 单趟冒泡排序将数组内最大值放到arr n 1 的位置 void bubble int arr int n for int i 0 i lt n 1 i if
  • 第5章 K8s基础篇-基本概念

    01 master节点 举个栗子 你启动3个nginx 副本 此时你想扩容至5个 输入完对应命令后 kube apiserver会通通知cm cm实施具体的容器扩缩容操作 02 Node节点 查看kube proxy工作模式 iptable
  • 如何用matplotlib绘制柱状图,并显示超出坐标范围的数据

    最近在处理数据 为了方便展示 需要绘制柱状图进行可视化 数据类似对数正态分布 即数据值越接近均值 数据越多 反之距离均值越远 数据量越少 形式类似于下图 可以看到 大部分数据落在0 10以内 大于10的部分我们不太关心 import num
  • linux下获取本机IPv6地址、前缀、网关

    获取本机IPv6信息命令 cat proc net if inet6 root IT PC 135 home user1 cat proc net if inet6 fe80000000000000922b34fffe4e70f4 02 4
  • libmodbus学习(一)之Modbus RTU-master

    一 Modbus 协议 Modbus簇主要有三种协议 Modbus RTU Modbus ASCII Modbus TCP 工控行业通常的设备组网看 三者应用的范围如下 三者模型区别如下 如上图所示 串行传输的物理层是RS 485或RS 2
  • datagrid传参_12. ajax、datagrid请求传参实例

    实例1 var data data orgRoleCode orgRoleCode data orgRoleName orgRoleName data containRoleIds containRoleIds data remark re
  • 1-问过 chatgpt 的问题(天马行空想问什么问什么)

    这里写目录标题 一 复数的极坐标形式是什么 如何求它的相位角 二 信号分解方法 2 1 了解 Fourier decomposition method 方法吗 具体解释一下它的原理 并给出一些参考文献 2 2 我说的FDM算法是出自 The
  • Unity3D项目程序加密——对dll进行混淆

    这里假设我们在Unity3D里面写的代码抽象成这样一个Test类 里面包含了公开和私有的变量 有自带的Start方法 Update方法和OnGUI方法 还有public private和protected方法 虽然说用抽象类代表了项目里面实
  • MySQL导入与导出.sql文件实操

    你是否对获得MySQL导入与导出 sql文件的实际操作感到无语 如果是这样子的话 此文将会给你相应的解决方案 以下的文章主要是介绍获得MySQL导入与导出 sql文件 的方案 以下就是相关内容的具体描述 一 MySQL的命令行模式的设置 桌
  • c++基础

    C 浅谈 闲暇之际 一直想把自己那些零碎的知识给连贯起来 形成一个体系 所以才决定写点东西来整理下最近半年来的知识点 我想把自己的知识输出才是最高效的学习方法 本博客讲结合我自己本人的实际工作经验 进行浅谈 与诸君分享 共同进步 由于能力有
  • idea java 阿里巴巴_AS 阿里巴巴Java开发规约 CheckStyle-IDEA

    Alibaba Java Coding Guidelines 简介 Alibaba Java Coding Guidelines 是阿里巴巴发布的基于 IDEA 的 Java 开发规约扫描插件 经过247天的持续研发 阿里巴巴于10月14日
  • Jmeter使用教程

    一 Jmeter介绍 二 Jmeter安装教程 1 下载地址 安装之前首先配置Java环境变量 Apache JMeter Download Apache JMeter 根据自己电脑系统来选择合适的安装包即可 2 环境变量配置 配置Jmet
  • java基础:成员变量与局部变量

    java中的变量 在java语言中 根据定义变量的位置不同 可以将变量分为两大类 一类是成员变量 一类是局部变量 由于二者之间存在很大的区别 所以在此介绍 1 成员变量 在类中定义的变量 分为类变量和实例变量两种 在定义类变量的时候 没有s
  • 神经网络学习小记录75——Keras设置随机种子Seed来保证训练结果唯一

    神经网络学习小记录75 Keras设置随机种子Seed来保证训练结果唯一 学习前言 为什么每次训练结果不同 什么是随机种子 训练中设置随机种子 学习前言 好多同学每次训练结果不同 最大的指标可能会差到3 4 这样 这是因为随机种子没有设定导
  • Taro小程序获取DOM元素 - Kaiqisan

    拖更一个月 抱歉 露出肚皮 主要是过年 考研复习 最近没时间写博客 就分享下最近写的项目遇到的问题 观前提示 本篇文章所有内容基于Taro React typescript 我会尽量敲一遍ts代码再敲一遍js代码 快夸我贴心 快o o 并且
  • 一、项目总体介绍以及环境配置

    项目总体介绍以及环境配置 提示 这里可以添加系列文章的所有文章的目录 目录需要自己手动添加 例如 第一章 Python 机器学习入门之pandas的使用 提示 写完文章后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 项目总体介
  • springboot - 自定义配置类

    拿datasource举栗子 package com example demo config import com alibaba druid pool DruidDataSource import com example demo pro