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)

大家都在看

  • C盘空间怎么不够了?原来杀毒软件隔离区太大了

    打开小红伞的隔离区,文件全选,删除,居然一下多出20个G. C盘空间怎么不够了?原来杀毒软件隔离区太大了 麻了。打开小红伞的隔离区,文件全选,删除,一下多出20个G. 还有一个比较…

    Linux 2023年6月6日
    0118
  • NJU软件分析笔记(2)

    NJU Static Analysis Notes(2)——Data Flow Analysis Ⅰ 课程链接本次课程主要内容 Overview of Data Flow Anal…

    Linux 2023年6月8日
    0109
  • 有道云笔记迁移到为知笔记

    背景 之前一直用的有&am…

    Linux 2023年6月14日
    0110
  • redis持久化

    本次主要是对redis中著名的持久化策略进行代码层面描述,主要包括RDB持久化和AOF持久化 因为AOF文件的更新频率比RDB高,所以如果服务器开启AOF持久化,redis优先使用…

    Linux 2023年6月13日
    0125
  • ajax跨域问题

    public class CrosFilter implements Filter { @Override public void destroy() { // TODO Auto…

    Linux 2023年6月7日
    0109
  • linux版powershell中,tab补全,linux外部命令参数名,的模块介绍

    关键字 linux powershell pwsh 补全 complete bash zsh 摘要:linux用户的福音!在linux版powershell中,补全linux外部命…

    Linux 2023年5月27日
    099
  • 做celery异步任务处理,Django中的配置信息没加载,配置的路径环境变量用不了,导致模块频繁导入错误

    做celery异步任务处理,Django中的配置信息没加载,配置的路径环境变量用不了,导致模块频繁导入错误 在设置的异步任务中需要使用到Django配置好的配置信息,比如路径环境变…

    Linux 2023年6月15日
    0136
  • MySQL实现备份(1)

    完全备份和部分备份 冷备份、热备份、温备份 温备份适用于:myisam 热备份适用于:innodb 物理备份和逻辑备份 完全备份:备份所有数据 部分备份:只备份部分数据内容 两者第…

    Linux 2023年6月7日
    0151
  • C语言练习:hackerrank十五关

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月11日
    094
  • 命令序列使用技巧

    使用控制字符来控制命令的执行方式 控制字符:(;,&&,||,&) & :开启一个子shell,并在后台执行; ; :可以把多个命令组合,但多个命令…

    Linux 2023年6月7日
    0110
  • PYTORCH: 60分钟 | TORCH.AUTOGRAD

    torch.autograd 是PyTorch的自动微分引擎,用以推动神经网络训练。在本节,你将会对autograd如何帮助神经网络训练的概念有所理解。 背景 神经网络(NNs)是…

    Linux 2023年6月16日
    0176
  • ACL和NAT

    NAT 概述: NAT(网络地址翻译)一个数据包目的ip或者源ip为私网地址, 运营商的设备 无法转发数据。 NAT工作机制: 一个数据包从企业内网去往公网时,路由器将数据包当 中…

    Linux 2023年6月6日
    0103
  • margin-top塌陷

    一、问题描述 ​ 在两个及以上的盒子嵌套时候,内部的盒子设置的 margin-top 的效果会加到最外边的盒子上,导致内部的盒子margin-top设置失败。 – 示例…

    Linux 2023年6月14日
    0111
  • Qt-Vnc远程

    VNC简介 VNC(Virtual Network Computing)是基于RFB(Remote Frame Buffer)协议的远程系统,C/S端口默认为5900,B/S端口默…

    Linux 2023年6月8日
    0498
  • 【Example】C++ 模板概念讲解及编译避坑

    C++ 不同于 Java,它没有标准的 Object 类型。也就意味着 C++ 并不存在完整的泛型编程概念。 为什么不存在完整的泛型编程概念,放到最后一个例子讲,先讲 &#8220…

    Linux 2023年6月13日
    092
  • 万字干货|Java基础面试题(2022版)

    作者:小牛呼噜噜 | https://xiaoniuhululu.com计算机内功、JAVA底层、面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」 概念常识 Java 语言有哪些…

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