gpt4 book ai didi

java - 无论如何在 spring4 中禁用注释?

转载 作者:搜寻专家 更新时间:2023-10-31 19:37:15 27 4
gpt4 key购买 nike

我有一个问题,也许很简单,但我找不到解决方案。

我正在使用 spring boot 并在代码中添加了一些注释,如下所示:

@EnableEurekaClient
@SpringBootApplication
@EnableCaching
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}

但是在其他一些环境下,比如在生产环境中,我们想去掉EurekaClient,但是我不想针对每个环境手动去去掉,而是想通过环境变量或者命令行参数来控制行为。我想这样做:

@EnableEurekaClient(Enabled = {EnableEureka})
@SpringBootApplication
@EnableCaching
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}

然后我可以在不接触代码的情况下轻松启动这个应用程序。

谁能告诉我这是否可行?如果可以,我该怎么做?

谢谢

最佳答案

您可能希望使用 Spring Boot Profiles .将 @EnableEurekaClient 拆分为另一个 @Configuration 类,并向该类添加一个 @Profile("eureka-client")。然后在启动应用程序时,您可以为生产环境以外的环境设置 -Dspring.profiles.active=eureka-client

例子:

@SpringBootApplication
@EnableCaching
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}

@Configuration
@EnableEurekaClient
@Profile("eureka-client")
public class EurekaClientConfiguration {
}

关于java - 无论如何在 spring4 中禁用注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38986067/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com