Spring boot Spring属性值为NULL
上面的Hello属性值在select语句中为null,但我可以看到该值after@Value在调试模式下的firstName变量中Spring boot Spring属性值为NULL,spring-boot,Spring Boot,上面的Hello属性值在select语句中为null,但我可以看到该值after@Value在调试模式下的firstName变量中 这里缺少什么?在构建对象之后,Spring将在某个时候注入属性。对于变量选择abc,您将在构造函数调用之前对其进行设置,对象默认为null 您需要使用@PostConstruct注释来保证Spring已经为您完成了bean的初始化 @Autowired public JobBuilderFactory jobBuilderFactory; @Autowired p
这里缺少什么?在构建对象之后,Spring将在某个时候注入属性。对于变量
选择abc
,您将在构造函数调用之前对其进行设置,对象默认为null
您需要使用@PostConstruct
注释来保证Spring已经为您完成了bean的初始化
@Autowired
public JobBuilderFactory jobBuilderFactory;
@Autowired
public StepBuilderFactory stepBuilderFactory;
@Autowired
public JdbcTemplate jdbcTemplate;
@Autowired
public DataSource dataSource;
@Autowired
TaskletStep taskletStep;
@Value("${spring.firstName}")
public String firstName
String selectABC ="SELECT * FROM WHERE ABAACD = '" + firstName+
另一个选项是将常量部分直接附加到@Value
注释中:
String selectABC;
@PostConstruct
public void init() {
selectABC ="SELECT * FROM WHERE ABAACD = '" + firstName + "'";
}
在构造函数中初始化selectABC
@Value("SELECT * FROM WHERE ABAACD = '${spring.firstName}'")
String selectABC;