Java Spring属性注入@Value实例Null
我有一个类来加载属性,但是当我创建一个实例时,这个类总是空的Java Spring属性注入@Value实例Null,java,spring,Java,Spring,我有一个类来加载属性,但是当我创建一个实例时,这个类总是空的 import lombok.Getter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; @Configurati
import lombok.Getter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
@Configuration
public class Blacklist
{
@Getter
@Value("${blacklist.regex:}")
public String regex;
}
实例
public class Filter{
private BlackList blacklist = new BlackList();
private regex = blackList.getRegex();
}
黑名单为空
我尝试使用@autowired,但没有成功。
特性:
blacklist.regex=^.{1,50}$
我发现了这个问题,我的类过滤器没有Spring逻辑来注入我将使用Bean配置器和构造函数的值
@Value("${blacklist.regex:}")
public String regex;
@Bean
public Filter()
{
return new Filter(regex);
}
我认为这里有很多问题
- 您应该将该值作为字段注入服务(@service/@Component)
- 请尝试删除@Value注释中的:
- 使用/创建实例的类也应该在spring上下文中
blacklist.regex
的部分您确定要在Spring上下文中运行代码吗?如果无法解析属性,Spring通常会做出异常反应。另外,我不确定您的空默认值(在@value表达式中冒号后没有值)是否有效。new BlackList()
在任何情况下都不起作用。黑名单
的实例不知道如何弹出,它不会对它做任何处理。