我在Scala中使用Spring Boot。我想通过@ConfigurationProperties注释读取带有Scala类型的case类的属性。我已经知道我将无法注释Scala case类,因为Spring Boot不支持基于构造的属性注入。但至少我希望将集合(列表和映射)从配置映射到基于Scala的类型。这样我就可以编写一个配置类:
@Component
@Configurathtml" target="_blank">ionProperties("kafka")
case class KafkaConfig() {
@BeanProperty
var bootstrapServers: List[String] = _
}
并编写一个配置文件application.yml如下:
kafka:
bootstrapServers:
- "node1:9092"
- "node2:9092"
这有可能吗?我尝试在这种情况下使用转换器,如下所示:
import org.springframework.core.convert.converter.Converter
import scala.collection.JavaConverters._
@Component
@ConfigurationPropertiesBinding
class JavaListToList extends Converter[java.util.List[Any], List[Any]] {
override def convert(s: java.util.List[Any]): List[Any] = {
s.asScala.toList
}
}
但这不起作用,因为Spring尝试不转换已读(java)列表,而是实例化一个空的Scala列表并附加到它。所以我肯定走错了路。
我将非常感谢您的帮助。
import java.util.{List => JList, ArrayList => JArrayList}
@Configuration
@ConfigurationProperties("kafka")
class AppConfig {
@BeanProperty
var bootstrapServers: JList[String] = new JArrayList[String]
def getBootStrapServer: JList[String] = bootstrapServers
}
或
import java.util.{List => JList, ArrayList => JArrayList}
@Component
@ConfigurationProperties(prefix = "kafka")
class KafkaConfig {
@BeanProperty
var bootstrapServers: JList[String] = new JArrayList[String]
def getBootStrapServer: JList[String] = bootstrapServers
}
我们正在将应用程序从 WAS 6.1 迁移到自由。我们的应用程序使用第三方 jar,通过 InputStream 读取属性文件。在 WAS 6.1 中,我们将服务器类路径设置为 myproperty.properties 的位置。我们尝试了以下方法来在 Liberty 中设置类路径,但没有任何效果 方法1:在jvm.options中设置以下内容(D:\ConfigFiles\DEV\-包含mypr
我刚开始穿弹力靴。这就是我要解决的问题。我有一个application.yml文件,它具有以下属性: 我尝试使用以下代码访问KinesisSenderFeature的值: 以及 PropertySourcesPlaceHolderConfigureer bean定义为: 是的,我确实看到了: 将Yaml中的列表映射到Spring Boot中的对象列表 Spring boot YAML配置未读取所有
问题内容: 我正在尝试从我的wildfly配置文件夹中的属性文件中读取特定于部署的信息。我尝试了这个: 但是显然这不起作用,因为配置文件夹不再位于类路径中。现在我找不到一种简单的方法。我最喜欢的是这样的: 到目前为止,我在网上找到的唯一解决方案是制作自己的OSGi模块,但是我相信必须有一种更简单的方法来实现(一个没有OSGi!)。谁能告诉我如何? 问题答案: 如果要从配置目录(例如或)中显式读取文
你好,我在我的项目中使用Spring Boot和Hikari进行db连接。spinger引导版本是2.2.5.RELEASE,Hikari是3.4.2。但是,当我运行我的项目时,它总是使用Hikari默认配置值,而不是使用我的属性文件中的值。这是我的属性: 这是我在应用程序配置中的数据源: 下面是输出:10:23:19.050[main]DEBUG com . zax xer . hikari .
我正在使用Java的发送SMS。我已经加载了log4j jar文件,并将文件放置在正确的位置,但它仍然无法读取它,并得到以下异常: 例外文本:
本文向大家介绍Spring Boot读取配置属性常用方法解析,包括了Spring Boot读取配置属性常用方法解析的使用技巧和注意事项,需要的朋友参考一下 1. 前言 在Spring Boot项目中我们经常需要读取application.yml配置文件的自定义配置,今天就来罗列一下从yaml读取配置文件的一些常用手段和方法。 2. @Value 首先,会想到使用@Value注解,该注解只能去解析y