应用程序属性的更改不会影响 - Springboot
Changes in Application properties doesn't impact - Springboot
我正在使用 Spring 启动 2.5.4。我已经编写了网络应用程序。现在我面临 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
。
任何人都可以帮助从 application.properties
获取最新更改
我在这里被打动了。帮助
我修好了。它是从文件夹配置中挑选的。我为不同的环境创建的
我正在使用 Spring 启动 2.5.4。我已经编写了网络应用程序。现在我面临 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
。
任何人都可以帮助从 application.properties
获取最新更改我在这里被打动了。帮助
我修好了。它是从文件夹配置中挑选的。我为不同的环境创建的