使用@Autowired注解无法注入(使用service报空指针异常)的问题解决,亲测可用!

@Component
public class CommMain{

     @Autowired
     public SysTransRecordCommonService sysTransRecordCommonService;

     public void saveTrans(SysTransRecord sysTransRecord){
      sysTransRecordCommonService.save(sysTransRecord);
     }
}

出现无法正常注入的情况,网上找了很多方法,最终以下这种方法亲测可用!

@Component
public class CommMain {

      @Autowired
      public SysTransRecordCommonService sysTransRecordCommonService;

      public static CommMain commMain;

      @PostConstruct
      public void init(){
	  commMain = this;
	 commMain.sysTransRecordCommonService = this.sysTransRecordCommonService;
      }

    public void saveTrans(SysTransRecord sysTransRecord){         commMain.sysTransRecordCommonService.save(sysTransRecord);       }
}

好了,亲测可以正常存表!

原文地址:https://www.cnblogs.com/dark-passion/p/10709625.html

时间: 2024-10-06 07:32:36

使用@Autowired注解无法注入(使用service报空指针异常)的问题解决,亲测可用!的相关文章

【亲测可用】使用hydra爆破3389 RDP报错解决办法

首先看一下报错信息,在爆破rdp协议时,提示没有FREERDP2模块,因为hydra新版本没有自带freerdp模块,所以需要我们手动下载 [ERROR] Compiled without FREERDP2 support, module not available! 接下来我们需要安装freerdp模块,下边是安装命令,选择关于freerdp所有的依赖包 sudo yum install freerdp* 安装模块之后,我们需要把原来的hydra删掉,在重新安装并编译,然后就可以爆破rdp协议

JS转换HTML转义符,防止javascript注入攻击,亲测可用

1 2 3 function removeHtmlTab(tab) {  return tab.replace(/<[^<>]+?>/g,'');//删除所有HTML标签 } 1 2 3 function html2Escape(sHtml) {  return sHtml.replace(/[<>&"]/g,function(c){return {'<':'<','>':'>','&':'&','"'

解决非controller使用@Autowired注解注入报错为java.lang.NullPointerException问题

在SpringMVC框架中,我们经常要使用@Autowired注解注入Service或者Mapper接口,我们也知道,在controller层中注入service接口,在service层中注入其它的service接口或者mapper接口都是可以的,但是如果我们要在我们自己封装的Utils工具类中或者非controller普通类中使用@Autowired注解注入Service或者Mapper接口,直接注入是不可能的,因为Utils使用了静态的方法,我们是无法直接使用非静态接口的,当我们遇到这样的问

Spring5:@Autowired注解、@Resource注解和@Service注解

什么是注解 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低 2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率 为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java

关于工具类静态方法调用@Autowired注入的service类问题

@Component //此处注解不能省却(0) 1 public class NtClient { 2 /** 3 * 日志 4 */ 5 private static String clazzName = NtClient.class.getName(); 6 /** 7 * 此处是要使用的service需要spring注入(1) 8 */ 9 @Autowired 10 private NotifyTimeService notifyTimeService; 11 private stat

@Autowired注解与@Qualifier注解搭配使用----解决多实现选择注入问题

问题:当一个接口实现由两个实现类时,只使用@Autowired注解,会报错,如下图所示 实现类1 实现类2 controller中注入 然后启动服务报错,如下所示: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean

解决非controller使用@Autowired注解注入为null问题

在SpringMVC框架中,我们经常要使用@Autowired注解注入Service或者Mapper接口,我们也知道,在controller层中注入service接口,在service层中注入其它的service接口或者mapper接口都是可以的,但是如果我们要在我们自己封装的Utils工具类中或者非controller普通类中使用@Autowired注解注入Service或者Mapper接口,直接注入是不可能的,因为Utils使用了静态的方法,我们是无法直接使用非静态接口的,当我们遇到这样的问

Spring注解:@Repository、@Service、@Controller、@Autowired

Spring的注解形式:@Repository.@Service.@Controller,它们分别对应存储层Bean,业务层Bean,和展示层Bean. 作用 @Repository.@Service.@Controller 和 @Component将类标识为Bean Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发. @Repository 注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean. 具体只需将该注解

@Resource与@Autowired注解的区别

一.写本博文的原因 年初刚加入到现在的项目时,在使用注解时我用的@Resource.后来,同事:你怎么使用@Resource注解?我:使用它有错吗?同事:没错,但是现在都使用@Autowired.我:我研究一下. 在大学,学习J2EE实训时一直使用的是@Resource注解,后来我就养成习惯了.现在对这两个注解做一下解释: @Resource默认按照名称方式进行bean匹配,@Autowired默认按照类型方式进行bean匹配 @Resource(import javax.annotation.