我是Spring的新手,在我的项目中,我使用属性文件来读取ip配置。
@Configuration
@PropertySource("classpath:ipaddress.properties")
在我的属性文件中
ip=http://192.168.1.199:8888
属性文件存在于我的项目中(com.test ....)但是我想从我的项目中删除并从jboss config或其他地方读取其他地方的ip地址。如果有人可以指导我这一点,将不胜感激。提前谢谢。
答案 0 :(得分:1)
你可以尝试使用类似的东西:
@PropertySources({
@PropertySource("classpath:application.properties"),
@PropertySource(value = "file:config/application.properties", ignoreResourceNotFound = true)
})
file:config/application.properties
应该是外部application.properties文件的位置。
答案 1 :(得分:0)
如果你正在使用Spring Boot,那么Externalized Configuration会给你并想出如何做到这一点。
就我而言,我的项目部署在Centos 7服务器上。我这样做了:
java -jar <spring-application>.jar --spring.config.location=file:/path-to-property-file/application.properties
答案 2 :(得分:0)
的pom.xml
...
<profiles>
<profile>
<id>dev</id>
<properties>
<ip.address>http://192.168.1.199:8888</ip.address>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<ip.address>http://10.34.65.1:8888</ip.address>
</properties>
</profile>
<profiles>
...
<properties>
<resource.directory>src/main/resources</resource.directory>
</properties>
...
<build>
<resources>
<resource>
<directory>${resource.directory}</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
...
ipaddress.properties:
ip=${ip.address}
Maven将在构建到ipaddress.properties时放置活动配置文件的IP地址 - 这样您就可以在没有代码或属性更改的情况下更改ips - 只需设置活动配置文件。
答案 3 :(得分:0)
非常感谢你的帮助。我终于在我的独立中使用JNDI得到了答案,如下所示:
<subsystem xmlns="urn:jboss:domain:naming:1.2">
<bindings>
<simple name="java:/ip" value=" http://123.456.789.123:4567"/>
</bindings>
</subsystem>
我在代码中删除了
@PropertySource("classpath:ipaddress.properties")