Spring 引导未在 Jersey 的 ResourceConfig class 中设置 @Value 属性
Spring Boot is not setting the @Value property in Jersey's ResourceConfig class
为什么运行时我的 Jersey ResourceConfig class 中的端口成员为 0?
Application.property 文件:
#web server
server.port=9000
球衣配置文件:
@Component
@ApplicationPath(Pathes.APPLICATION_PATH)
public class JerseyConfig extends ResourceConfig {
@Value("${server.port}")
private int port;
public JerseyConfig() {
final BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.0");
beanConfig.setHost("localhost:" + port);
beanConfig.setBasePath(Pathes.APPLICATION_PATH);
beanConfig.setResourcePackage(myPackages);
beanConfig.setScan(true);
register(ApiListingResource.class);
register(SwaggerSerializers.class);
}
}
感谢您的帮助!
您正在构造函数中使用端口,在它被 Spring 容器初始化之前。你不能用 Spring.
来做到这一点
改为执行构造函数注入:
@Component
@ApplicationPath(Pathes.APPLICATION_PATH)
public class JerseyConfig extends ResourceConfig {
@Autowired
public JerseyConfig(@Value("${server.port}") int port) {
final BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.0");
beanConfig.setHost("localhost:" + port);
beanConfig.setBasePath(Pathes.APPLICATION_PATH);
beanConfig.setResourcePackage(myPackages);
beanConfig.setScan(true);
register(ApiListingResource.class);
register(SwaggerSerializers.class);
}
}
为什么运行时我的 Jersey ResourceConfig class 中的端口成员为 0?
Application.property 文件:
#web server
server.port=9000
球衣配置文件:
@Component
@ApplicationPath(Pathes.APPLICATION_PATH)
public class JerseyConfig extends ResourceConfig {
@Value("${server.port}")
private int port;
public JerseyConfig() {
final BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.0");
beanConfig.setHost("localhost:" + port);
beanConfig.setBasePath(Pathes.APPLICATION_PATH);
beanConfig.setResourcePackage(myPackages);
beanConfig.setScan(true);
register(ApiListingResource.class);
register(SwaggerSerializers.class);
}
}
感谢您的帮助!
您正在构造函数中使用端口,在它被 Spring 容器初始化之前。你不能用 Spring.
来做到这一点改为执行构造函数注入:
@Component
@ApplicationPath(Pathes.APPLICATION_PATH)
public class JerseyConfig extends ResourceConfig {
@Autowired
public JerseyConfig(@Value("${server.port}") int port) {
final BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.0");
beanConfig.setHost("localhost:" + port);
beanConfig.setBasePath(Pathes.APPLICATION_PATH);
beanConfig.setResourcePackage(myPackages);
beanConfig.setScan(true);
register(ApiListingResource.class);
register(SwaggerSerializers.class);
}
}