下面是我在Spring引导应用程序中的yml文件
stack:
apiContext: data-service
domainOwner: trata
domainContext: Madata-service
#cluster:
# servicePort: 12000
#gossipPort: 13000
#seedName: seed-service
# seeds:
# - localhost:14000
cluster:
servicePort: 21000
gossipPort: 15000
# seedName: seed-service
seeds:
- localhost:13000
providers:
com.cloudimpl.out.collection.CollectionProvider:
- name: MemCollection
impl: com.cloudimpl.outstack.collection.MemCollectionProvider
status: active
- name: com.cloudimpl.outstack.collection.CollectionProvider
impl: com.cloudimpl.outstack.collection.AwsCollectionProvider
# status: active
configs:
endpoint: http://localhost:1234
leaderTable: LeaderTable
com.cloudimpl.outstack.runtime.EventRepositoryFactory:
- name: MemRepositoryFactory
impl: com.cloudimpl.outstack.runtime.repo.MemEventRepositoryFactory
- name: PostgresRepositoryFactory
impl: com.cloudimpl.outstack.spring.repo.PostgresRepositoryFactory
status: active
configs:
jdbcUrl: jdbc:postgresql://localhost:5432/test
username: postgres
password: QazWsx@1234
defaultTable: masterdataService
#UserTable: userTable
server:
port: 9096
spring:
main:
web-application-type: reactive
低于值访问是工作文件
@Value("${outstack.domainOwner}")
private String abc;
但当我试图以下面的方式访问时,它会给出一个错误。
@Value("${outstack.providers.com.cloudimpl.outstack.runtime.EventRepositoryFactory.name}")
private String abc;
我检查了只有在添加“com.cloudimpl.outstack.runtime.EventRepositoryFactory”这一部分时才会出现错误。
我怎样才能解决这个问题??
首先,我看到的是stack.providers…
不是outstack.providers…
您需要了解的第二件事是,stack.providers.com.cloudimpl.outstack.runtime.EventRepositoryFactory
包含元素数组。所以你的@值(…)
将不起作用。
您可以创建一个单独的@ConfigurationProperties
类,如下所示,
@Configuration
@ConfigurationProperties(prefix = "stack.providers.com.cloudimpl.outstack.runtime")
public class EvenConfigProperties {
@JsonProperty("EventRepositoryFactory")
private List<Config> eventRepositoryFactory;
// getters and setters
}
public class Config {
private String name;
private String impl;
// other parameters
// getters and setters
}
它不工作所以。您在"outstack.providers.com.cloudimpl.outstack.runtime.EventRepositoryFactory"下具有值的列表。这意味着你可以像这样添加变量:
@Value("${outstack.providers.com.cloudimpl.outstack.runtime.EventRepositoryFactory}")
private List<ParamWrapper> abc;
class ParamWrapper {
private String name;
private String impl;
....
getters and setters
}
然后检查列表中的参数。
我有一个限定词 限定符“jdbc”是定义为 这是返回该限定符的数据源并正常工作的。 现在,我想从应用程序中读取限定符名称。属性。所以我把代码改为 其中,数据库。连接器。在我的应用程序中,name=jdbc。属性。 但当我这样做的时候,这会产生一个错误 应用程序启动失败 说明: main中的字段userService。Java语言RestTestController需要“org”类型的bean。sp
问题内容: 我创建了一个REST Web服务,在其中创建了config.properties文件来存储和检索整个应用程序中的一些用户名和密码。我将其存储在/src/main/resources/config.properties中。 当我尝试从eclipse的Java代码加载它时,它工作正常。但是当我将它部署在tomcat中时,它没有加载。我用来加载属性文件的代码是 谁能帮我解决这个问题 问题答案
我必须从我的Spring启动项目的属性文件中读取一些字符串数组变量。我已经为数组创建了一个具有 getter 和 setter 方法的类。我不知道如何使用java 1.8从land.yml文件中获取这些字符串数组变量的值
我正在尝试为我的sping-boot应用程序设置测试。在常规执行中,我从. env文件中获取一些值,这些值是我在运行配置中指定的,如下所示: 但当我尝试运行最简单的测试时,它会失败,但有一个例外: 加载Application Contextjava.lang.IllegalStateException失败:加载Application Context失败………原因:org.springframewo
我试图只使用注释创建Spring bean。我无法从属性文件加载@Bean类的值。 下面是我的代码: 知道我做错了什么吗?
我有一个实用工具类,其中我有一个方法,它需要用户名和密码来连接其他URL。我需要将用户名保存在属性文件中,这样我就可以随时更改它。但当我在静态方法中使用它(作为实用程序类)时,问题是它显示为空(即它不能从属性文件中读取)。 但当我在其他控制器中输入这些值时,它们就会到达那里。所以我的问题是如何读取静态字段中的属性值