我使用的是Sping Boot 2.5.4。我写了Web应用程序。现在我正面临着application.properties文件变量的问题。如果我正在改变现有的值,在代码中旧的值被读取,新定义的对象不会到来。
找到下面的application.properties文件
spring.datasource.url=jdbc:mysql://XXXXXXXXXXX:3306/test
spring.datasource.username=user
spring.datasource.password=XXXXXXXXXXXXXXXX
spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver
# Config Variables
ml.url=https://google.com/ml/entities
main.url=https://xxxx.com/staging/mainfile
和应用程序配置java文件
@Component
public class ApplicationConfig {
@Value("${ml.url}")
public String mlurl;
@Value("${main.url}")
public String mainurl;
@PostConstruct
public void initThat(){
that = this;
}
}
将代码中的变量阅读为
@RequestMapping("/readfile")
@RestController
public class AppointmentResource {
private static Logger S_LOGGER = LogManager.getLogger( AppointmentResource.class );
@Autowired
private ApplicationConfig applicationConfig;
@GetMapping(value = "/websiteUrl",produces = MediaType.APPLICATION_JSON_VALUE)
public String getProduct() {
String websiteUrl = applicationConfig.mlurl;
S_LOGGER.info("website url is " + websiteUrl);
return websiteUrl;
}
}
经过几次编译。然后我将ml.url改为https://google.com/prod/entities/test
但在代码中,我仍然得到https://google.com/ml/entities
。
任何人都可以帮助从www.example.com获得最新的更改application.properties
我在这里被击中了。帮助
1条答案
按热度按时间2fjabf4q1#
我修好了。它在文件夹配置里挑东西。这是我为不同的环境所创造的