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)

大家都在看

  • Java实现链表

    3、链表 MyLinkedList 有一个头指针,一个尾指针,还有链表长度size 内有两个类,一个是实现了Iterator接口的迭代器类,另一个是Node类,其中Node数据结构…

    Linux 2023年6月14日
    090
  • MySQL-创建表

    如何在指定数据库中创建表 我们先来了解一下在数据库中创建表的规则: CREATE TABLE 表名 ( 字段名,数据类型, 字段名,数据类型, ….. ) 例如: 添加…

    Linux 2023年6月8日
    0114
  • 5.9 Linux Vim批量注释和自定义注释

    使用 Vim 编辑 Shell 脚本,在进行调试时,需要进行多行的注释,每次都要先切换到输入模式,在行首输入注释符 #再退回命令模式,非常麻烦。 连续行的注释其实可以用替换命令来完…

    Linux 2023年6月7日
    081
  • Java基础系列–04_数组

    一维数组:(1)数组:存储同一种数据类型的多个元素的容器。(2)特点: 每一个元素都有编号,从0开始,最大编号是数组的长度-1。编号的专业叫法: 索引(3)定义格式A:数据类型[]…

    Linux 2023年6月7日
    087
  • 美团笔试(22.03.19)

    代码题 一共五道代码题,看了前面三道,ac了三道,后面两道题没有时间看,此处将对前三题进行记录总结,后附代码。 题意:给定一组n个商品的价格,下单购买商品时,必须购买前i个商品,即…

    Linux 2023年6月13日
    089
  • 简单易用的任务队列-beanstalkd

    概述 beanstalkd 是一个简单快速的分布式工作队列系统,协议基于 ASCII 编码运行在 TCP 上。其最初设计的目的是通过后台异步执行耗时任务的方式降低高容量 Web 应…

    Linux 2023年6月7日
    095
  • [Python]批量替换PPT字体脚本

    使用说明 脚本代码 配置文件 使用说明 将脚本放置在需要批量修改的PPT文件夹根目录 修改配置文件 conf.ini 中的字体 执行脚本文件 ​ exe文件 下载:https://…

    Linux 2023年6月13日
    0115
  • 正则表达式在grep中的使用

    GREP用法 grep "after" profile #查找文件内的包含after单词的行 grep -n "after" profile…

    Linux 2023年6月11日
    093
  • 自动化集成:Jenkins管理工具详解

    前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译、打包、镜像构建、部署等操作; 本篇文章主要描述Jenkins基础用法。 一、J…

    Linux 2023年5月27日
    0103
  • Linux系统下安装tomcat步骤

    说明:jdk自动安装后路径是/usr/lib/jvm 在”vim /etc/profile”修改profile文件尾部 unset -f pathmunge…

    Linux 2023年6月6日
    077
  • Mysql Date操作

    根据format字符串格式化date值。 下列修饰符可以被用在format字符串中: %W 星期名字(Sunday……Saturday) %D 有英语前缀的月份的日期(1s…

    Linux 2023年6月7日
    063
  • typedef

    为类型定义别名 typedef int Int 这样 Int 就是 int类型的别名,就可以使用 Int来定一整形变量. 只需要在类型变量生命的基础上,再加一个关键字 typede…

    Linux 2023年6月13日
    078
  • Shell 函数带中横线问题排查

    Shell 中编写的函数,如果函数名中带了中横线,在使用 /bin/sh 执行时会报错。 ➜ subprocess git:(master) ✗ cat kubectl.sh _k…

    Linux 2023年5月28日
    074
  • 搭建Nginx四层反向代理

    需求背景: 前段时间公司因为业务需求需要部署一个正向代理,我已经分享出来了https://www.cnblogs.com/Dfengshuo/p/11911406.html,现有因…

    Linux 2023年6月8日
    0103
  • python学习

    python中的字符串以双引号或者单引号表示 长度为L:第一个字节索引为0或-L 最后一个字节索引为L-1或-1 in是二元关系操作,用来判断左侧内容是否在右侧的集合中 float…

    Linux 2023年6月6日
    096
  • nand

    nand flash裸机编程第001节_NAND_FLASH操作原理第002节_NandFlash时序及初始化第003节_NandFlash的芯片id读取第004节_NandFla…

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