Spring boot Spring属性值为NULL

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

上面的Hello属性值在select语句中为null,但我可以看到该值after@Value在调试模式下的firstName变量中


这里缺少什么?

在构建对象之后,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;