我正在使用弹簧靴。我正在开发一个Web应用程序,我需要获取应用程序库才能生成电子邮件的链接。为此,我需要获取基本URL。由于tomcat是嵌入式的
request.getContextpath()
返回null。我需要动态获取该localhost:8080,以便在将其部署到服务器时不必更改代码。

最佳答案

在Spring Boot应用程序中,可以使用属性server.context-path = your-path在application.properties中更改服务器上下文。

在您的代码中,您可以参考以下属性

@SpringBootApplication
@EnableConfigurationProperties(ServerProperties.class)
public class DemoApplication implements CommandLineRunner{

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @Autowired
    ServerProperties serverProperties;

    @Override
    public void run(String... strings) throws Exception {
        System.out.println("serverProperties.getContextPath(): " + serverProperties.getContextPath());
    }
}


这里的关键点是在@EnableConfigurationProperties(ServerProperties.class)类上使用@Configuration,然后使用注入的字段ServerProperty消耗该值。

我希望这可以帮助您...

07-23 18:45