在@Service类中有几个用@Value注释的字段.这些字段未正确填充并且为空.也许我忽略了一些事情,我已经粘贴了下面的相关代码块.尝试了具有相同结果的替代选项env.getproperty().
输出中以下属性的值为null.
package com.project.service.impl;import org.springframework.beans.factory.annotation.Value@Service("aService")@PropertySource(value="classpath:app.propertIEs")public class ServiceImpl implements Service{ private Environment environment; @Value("${List.size}") private Integer List1; @Value("${List2.size}") private Integer List2Size; @autowired public ServiceImpl(StringRedistemplate stringTemplate){ this.stringTemplate = stringTemplate; logger.info("TESTING 123: "+List1); } // ...}@EnableWebMvc@ComponentScan(basePackages = {"com.project.service","..."})@Configurationpublic class ServletConfig extends WebMvcConfigurerAdapter { // ... @Bean public static PropertySourcesPlaceholderConfigurer propertIEs() { PropertySourcesPlaceholderConfigurer propertyPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer(); Resource[] resources = new ClassPathResource[] { new ClassPathResource("app.propertIEs") }; propertyPlaceholderConfigurer.setLocations(resources); propertyPlaceholderConfigurer.setIgnoreUnresolvablePlaceholders(true); return propertyPlaceholderConfigurer; }}
最佳答案现场注入在构造之后发生,因此出现NullPointer异常.解决方案是使用@Value注释构造函数参数,例如public ServiceImpl(StringRedistemplate stringTemplate,@Value("${List.size}" Integer List1,..){}
总结 以上是内存溢出为你收集整理的spring – @Service类中的@Value属性为Null全部内容,希望文章能够帮你解决spring – @Service类中的@Value属性为Null所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)