java - 如何将属性文件中的属性注入 Spring 中的非托管类?
问题描述
我想将属性设置为不受 Spring 管理的类。实际情况如下:我有一个正则表达式,我想将其外部化到属性文件中。到目前为止,我尝试创建一个CommandLineRunner
, 并从属性文件中读取并将正则表达式设置为我想要的任何字段。但我想知道是否有一种开箱即用的方式来做到这一点。
解决方案
您可以执行以下操作之一:
- 使该类成为“普通”Java 类,其中正则表达式由使用它的 Spring 托管类通过构造函数或方法参数传入。
- 给类一个静态字段“正则表达式”(可能具有默认值),该字段由 Spring bean 通过启动时的设置器设置(
@PostConstruct
)。 - 为类提供一个静态字段“正则表达式”(可能具有默认值),该字段使用
static
从属性文件中读取的类中的块进行设置(如果它在类路径上可用!)。 - 使类成为在 Spring 启动时初始化的“普通”单例(可能具有默认值)(https://www.baeldung.com/running-setup-logic-on-startup-in-spring)
推荐阅读
- python - 使用 manylinux + auditwheel pip Wheels 与 Conda 打包
- sql - 从 Oracle 表生成插入
- rust - 将借来的值保存在集合中的 Rust 方法是什么?
- apache-kafka - Kafka Streams - 如何更好地控制内部创建的状态存储主题的分区?
- git - GIT - 致命:不能使用 .idea/ 作为排除文件
- jquery - 如果用户名和电子邮件都可用,如何显示按钮
- java - FireFox 无法在 ws://1.1.1.26:81 建立与服务器的连接
- inno-setup - 将包含引号的命令行参数传递给安装程序
- linux - 复制名称中包含偶数的文件 - bash
- sql-server - SELECT 语句上的 SQL Server 消息 511 错误