无法在扩展java类中自动连接服务,引发NullPointerException

无法在扩展java类中自动连接服务,引发NullPointerException,java,spring,Java,Spring,我正在尝试在java类中提供Autowire服务,该类是从TimerTask扩展而来的。在java类中尝试返回服务时,返回的null值。这是我尝试使用的Autowire服务的类: @Component public class Task extends TimerTask { @Autowired FileDetailsService fileDetailsService; int count = 1; @Override public void r

我正在尝试在java类中提供
Autowire
服务,该类是从
TimerTask
扩展而来的。在java类中尝试返回服务时,返回的
null
值。这是我尝试使用的
Autowire
服务的类:

@Component
public class Task extends TimerTask

{
    @Autowired
    FileDetailsService fileDetailsService;

    int count = 1;

    @Override
    public void run()
    {   
        fileDetailsService.updateProcessingStatus(fileAudit);
}
配置类:没有web.xml…..我使用spring 4在java中进行了配置

//DataConfig.java

 @Configuration
    @MapperScan("com.fileC.mapper")
    public class DataConfig {
        @Bean
        public DataSource dataSource() {
            SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
            dataSource.setDriverClass(oracle.jdbc.driver.OracleDriver.class);
            dataSource.setUsername("username");
            dataSource.setUrl("jdbc***thin**sample **url");
            dataSource.setPassword("****");
            return dataSource;
        }

        @Bean
        public DataSourceTransactionManager transactionManager() {
            return new DataSourceTransactionManager(dataSource());
        }

        @Bean
        public SqlSessionFactoryBean sqlSessionFactory() throws Exception {
            SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
            sessionFactory.setDataSource(dataSource());
            sessionFactory.setTypeAliasesPackage("com.fileC.model");
            return sessionFactory;
        }
 @Configuration
    @ComponentScan(basePackages="com.filec")
    public class ApplConfig {
        @Bean
        public CommonsMultipartResolver multipartResolver(){
            CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();
            commonsMultipartResolver.setDefaultEncoding("utf-8");
            commonsMultipartResolver.setMaxUploadSize(50000000);
            return commonsMultipartResolver;
        }
    }
//ApplConfig.java

 @Configuration
    @MapperScan("com.fileC.mapper")
    public class DataConfig {
        @Bean
        public DataSource dataSource() {
            SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
            dataSource.setDriverClass(oracle.jdbc.driver.OracleDriver.class);
            dataSource.setUsername("username");
            dataSource.setUrl("jdbc***thin**sample **url");
            dataSource.setPassword("****");
            return dataSource;
        }

        @Bean
        public DataSourceTransactionManager transactionManager() {
            return new DataSourceTransactionManager(dataSource());
        }

        @Bean
        public SqlSessionFactoryBean sqlSessionFactory() throws Exception {
            SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
            sessionFactory.setDataSource(dataSource());
            sessionFactory.setTypeAliasesPackage("com.fileC.model");
            return sessionFactory;
        }
 @Configuration
    @ComponentScan(basePackages="com.filec")
    public class ApplConfig {
        @Bean
        public CommonsMultipartResolver multipartResolver(){
            CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();
            commonsMultipartResolver.setDefaultEncoding("utf-8");
            commonsMultipartResolver.setMaxUploadSize(50000000);
            return commonsMultipartResolver;
        }
    }
我正在使用Spring4、java1.8、ibatis和SQL数据库

这是服务课

@Service("fileDetailsService")
@Transactional
public class FileDetailsServiceImpl implements FileDetailsService{
    private static Logger logger = LoggerFactory.getLogger(FileDetailsServiceImpl.class);

    @Autowired
    FileDetailsMapper fileDetailsMapper;

    @Override
    public void insertFileInfo(Details details){
        fileDetailsMapper.insertDetails(details);
    }
以下是例外情况的详细信息

fileAuditMapper>>>空值
com.filecompare.service.Task.run(Task.java:117)上的线程“Timer-9”java.lang.NullPointerException中出现异常 位于java.util.TimerThread.mainLoop(Timer.java:555) 在java.util.TimerThread.run(Timer.java:505)


如果我需要在配置中添加一些内容,请告诉我

您是如何创建
FileDetailsService
的Bean的?能否将
FileDetailsService
的代码添加到问题中?请使用原始帖子下的编辑链接将详细信息添加到问题中。如果没有正确的格式,评论中的内容是不可读的。另外,请发布您如何创建
任务
bean。发布异常的完整堆栈跟踪,并将代码发布到您获得任务引用的位置。我猜您正在某处使用new Task()。将类更改为使用构造函数注入而不是字段注入,问题可能会立即显现出来。