Java动态脚本Groovy读取配置文件

前言:请各大网友尊重本人原创知识分享,谨记本人博客: 南国以南i

核心涉及:

@Value:作用是通过注解将常量、配置文件中的值、其他bean的属性值注入到变量中,作为变量的初始值。

@Configuration:用于定义配置类,可替换xml配置文件,标注在类上,相当于把该类作为spring的xml配置文件中的

ApplicationContext:它是spring继BeanFactory之外的另一个核心接口或容器,允许容器通过应用程序上下文环境创建、获取、管理bean。为应用程序提供配置的中央接口。在应用程序运行时这是只读的,但如果实现支持这一点,则可以重新加载。

第一步:在yml中添加属性值

#yml自定义属性
basic:
  name: robin
  password: 123456
  address: 上海市黄浦区

第二步:创建装配工具类

@Data
@Configuration//定义配置类
public class ConfUtils {

    @Value("${basic.name}")
    private String name;

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

    @Value("${basic.address}")
    private String address;
}

第三步:Groovy脚本获取Bean,读取yml属性值

友情链接:Groovy获取Bean两种方式你过来呀!

@Slf4j
class LoadBean implements Runnable {

    private String name;

    private String password;

    private String address;

    /**
     * .
     * Groovy获取Bean
     */

    @Override
    void run() {
        log.info("Groovy开始执行,当前类{}", this.getClass())
        ConfUtils conf = TestgroovyApplication.applicationContext.getBean(ConfUtils.class)
        this.name = conf.getName()
        this.password = conf.password
        this.address = conf.getAddress()
        log.info("姓名:[{}],密码:[{}],地址:[{}]", name, password, address)
        log.info("Groovy结束执行,当前类{}", this.getClass())
    }
}

Java动态脚本Groovy读取配置文件

Original: https://www.cnblogs.com/bgyb/p/15683711.html
Author: 南国以南i
Title: Java动态脚本Groovy读取配置文件

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611545/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux快速入门(八)效率工具(SSH)

    (1)Kali(源主机),IP:10.211.55.4/24(2)Ubuntu(目标主机),IP:10.211.55.5/24 OpenSSH用于在远程系统上安全的运行 Shell…

    Linux 2023年6月6日
    094
  • Linux下如何修复陈旧的第三方微信版本electronic-wechat

    因为现在的Linux发行版软件库太新的缘故,导致陈旧的electronic-wechat的文本引擎库不能正确运行,一般表现为harfbuzz too old等错误。 即使你把har…

    Linux 2023年6月14日
    0114
  • MyCAT实现MySQL读写分离

    用户连接到MySQL的中间件(代理),中间件接收用户的访问转发给后端的mysql数据库。 是MySQL的一个中间件软件,Mycat是一个开源的分布式数据库系统,是一个实现了MySQ…

    Linux 2023年6月7日
    091
  • 函数的设计和使用

    1.函数的定义 将可能需要反复执行的代码封装为函数,并在需要该功能的地方进行调用,不仅可以实现代码复用,更重要的是可以保证代码的一致性,只需要修改函数代码则所有调用均受影响。 设计…

    Linux 2023年6月7日
    0184
  • cpp-函数

    1.基础概念 形参:用在定义、申明处的参数,用于说明参数的类型、名称 实参:用在函数调用,用…

    Linux 2023年6月7日
    0127
  • shell多线程运行程序

    #!/bin/bash function my_cmd(){ sleep 1 } date tmp_fifofile="/tmp/$$.fifo" mkfifo…

    Linux 2023年6月6日
    0116
  • 2021年3月-第02阶段-前端基础-移动WEB开发-移动WEB开发之_响应式布局

    移动端WEB开发之响应式布局 1.0 响应式开发原理 1.1 响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的。 设备的划分情况: 小…

    Linux 2023年6月8日
    0122
  • 百度云虚拟主机BCH安装PHP框架CodeIgniter

    注意:fastcgi_param SCRIPT_FILENAME /home/bae/app/index.php;这一项中的路径,这个百度云虚拟主机的手册有说明。 将该配置文件(b…

    Linux 2023年6月13日
    0111
  • CentOS8.4对home目录扩容

    在工作中会遇到home空间不足的情况需对其扩容 一、添加新硬盘 我的环境是虚拟机,首先为其添加一块16G的硬盘 进入机器首先 df -h 看一下发现CentOS8.4默认使用逻辑卷…

    Linux 2023年5月27日
    099
  • mysql order by语句流程是怎么样的

    order by流程是怎么样的 注意点: select id, name,age,city from t1 where city=’杭州…

    Linux 2023年6月8日
    0115
  • 有道词典翻译功能数字有时无法翻译出来解决方案

    阅文时长 | 0.03分钟字数统计 | 62.4字符主要内容 | 1、引言&背景 2、解决方案 3、声明与参考资料『有道词典翻译功能数字有时无法翻译出来解决方案』 编写人 …

    Linux 2023年6月14日
    0195
  • linux系统(centos)下su和sudo命令的区别

    linux系统(centos)下su和sudo命令的区别 su命令:switch user缩写,切换用户。用于 切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码…

    Linux 2023年5月27日
    0118
  • 【设计模式】Java设计模式-桥接模式

    【设计模式】Java设计模式 – 桥接模式 😄 不断学习才是王道🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🏆原创作品,更多关注我CSDN: 一个…

    Linux 2023年6月6日
    0130
  • 从零开始构建Linux

    目的:深入了解以Linux内核为基础的系统是如何组成,运行,以构建一个最基础的,纯净的系统。 LFS构建步骤宿主机准备– linux操作系统安装– 使用独立…

    Linux 2023年6月7日
    0100
  • 【根文件系统】根文件系统是什么?

    简介 根文件系统也叫roofs,它不同于FATFS、FAT和EXT4,更像是一个文件夹或者目录。根目录和子目录中会有很多的文件,这些文件时Linux运行所必须的,比如库、常用软件和…

    Linux 2023年6月13日
    0101
  • VMware 虚拟机图文安装和配置 Rocky Linux 8.5 教程

    前言这是《VMware 虚拟机图文安装和配置 AlmaLinux OS 8.6 教程》一文的姐妹篇教程,如果你需要阅读它,请点击这里。2020 年,CentOS 宣布:计划未来将重…

    Linux 2023年6月7日
    0229
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球