应用程序属性的更改不会影响- Springboot

3qpi33ja  于 2023-05-28  发布在  Spring
关注(0)|答案(1)|浏览(120)

我使用的是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
我在这里被击中了。帮助

2fjabf4q

2fjabf4q1#

我修好了。它在文件夹配置里挑东西。这是我为不同的环境所创造的

相关问题