精华内容
下载资源
问答
  • service层注入对象为null
    千次阅读
    2020-03-19 11:52:59

    前言

    当你看到这篇文章的时候,你@Autowired注入的对象可能是 null值,但是你不要沮丧,下面的代码可能会帮到你.

    在遵循 spring 管理的前提下,我们一定是不能 new 的,那下面我们就看一下代码吧!

    注入service的类

    @Component // ------------------将工具类声明为spring组件,这个必须不能忘      
    public class Test {
        @Autowired
        private IMailService mailService;
        private static Test test;  // 静态初使化当前类
        public void setMailService(IMailService mailService) {
            this.mailService = mailService;
        }
    // 在方法上加上注解@PostConstruct,这样方法就会在Bean初始化之后被Spring容器执行
    //(注:Bean初始化包括,实例化Bean,并装配Bean的属性(依赖注入))。
        @PostConstruct 
        public void init() {
            test = this;
            test.mailService = this.mailService;
        }
    

    正确调用service

    	public void callService() {
           test .mailService.sendFreemarker();
        }
    

    原文链接:https://blog.csdn.net/haoxiaoyong1014/article/details/79205676

    更多相关内容
  • 项目场景: 提示:这里简述项目相关背景: 在一次需求实现中,需要在一个service中注入另一个service ...偏偏只有这一个service注入失败,人都给整懵了。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210

    项目场景:

    提示:这里简述项目相关背景:
    在一次需求实现中,需要在一个service中注入另一个service


    问题描述:

    例如:我们可以看到,在图片的右边后几个绿色的圆圈,这是idea自带的检测,出现这个就表明bean已经被扫描到了。既然已经被扫描到了,为什么还是不能注入呢?。我还试了在controller中注入,在其他service中注入,发现都没有问题。偏偏只有这一个service注入失败,人都给整懵了。
    在这里插入图片描述


    解决方案:

    有问题找度娘呗,发现一个注解:@PostConstruct,修改代码为下图:
    在这里插入图片描述

    作用:
    @PostConstruct注解的方法在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如数据字典之类的。

    执行顺序:
    其实从依赖注入的字面意思就可以知道,要将对象p注入到对象a,那么首先就必须得生成对象a和对象p,才能执行注入。所以,如果一个类A中有个成员变量p被@Autowried注解,那么@Autowired注入是发生在A的构造方法执行完之后的。

    如果想在生成对象时完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入,那么就无法在构造函数中实现。为此,可以使用@PostConstruct注解一个方法来完成初始化,@PostConstruct注解的方法将会在依赖注入完成后被自动调用。

    Constructor >> @Autowired >> @PostConstruct

    展开全文
  • @Autowired-service层注入对象为 null

    万次阅读 2018-01-30 14:48:05
    当你看到这篇文章的时候,你@Autowired注入对象可能是 null值,但是你不要沮丧,下面的代码可能会帮到你. 在遵循 spring 管理的前提下,我们一定是不能 new 的,那下面我们就看一下代码吧! @Component // --------...

    当你看到这篇文章的时候,你@Autowired注入的对象可能是 null值,但是你不要沮丧,下面的代码可能会帮到你.

    在遵循 spring 管理的前提下,我们一定是不能 new 的,那下面我们就看一下代码吧!

    @Component // ------------------将工具类声明为spring组件,这个必须不能忘      

    public class Test {

        @Autowired

        private IMailService mailService;


        private static Test test;  // 静态初使化当前类


        public void setMailService(IMailService mailService) {

            this.mailService = mailService;

        }

    // 在方法上加上注解@PostConstruct,这样方法就会在Bean初始化之后被Spring容器执行

    //(注:Bean初始化包括,实例化Bean,并装配Bean的属性(依赖注入))。

        @PostConstruct 

        public void init() {

            test = this;

            test.mailService = this.mailService;

        }

    //调用 mailService

    test .mailService.sendFreemarker();

    这用就 ok了!!!,希望能帮到你
    展开全文
  • service注入对象为null

    千次阅读 2022-03-10 18:36:49
    service注入对象为null 在调试接口的时候,怎么都报空指针,检查来检查去发现userService打印出来是null。 我用过@Autowired、@Resource、@RequiredArgsConstructor注入service都是null。 最后发现在service加上...

    service注入对象为null
    在这里插入图片描述

    在调试接口的时候,怎么都报空指针,检查来检查去发现userService打印出来是null。

    我用过@Autowired、@Resource、@RequiredArgsConstructor注入service都是null。

    最后发现在service加上final或者static,接口就正常了。网上介绍说是spring管理的都是单例(singleton),和 websocket (多对象)相冲突。

    PS:还有一种service为null情况就是,Controller的接口名称不小心用private修饰了,应该是用public修饰的

    展开全文
  • webservice接口时,尤其是调取java服务端暴露接口时,由于服务端其他内部接口是不受spring托管的,往往通过IOC或注解的方式不能注入,试了方法无数,结果就用这么SpringBeanAutowiringSupport注解轻松解决 ...
  • 于是我排查Service的实现类上是否有@Service注解等等, 找来找去,找来找去,找来找去。。。 还在群里讨论,到底咋回事 最终经过百度筛查,发现了一个会让大家打死我的问题。 那就是———— 我特么不知道怎么回事...
  • java解决springboot其他类注入Service、Mapper对象为Null 具体错误: 实现CommandLineRunner接口可以解决注入Service、Mapper对象为空,CommandLineRunner主要的作用是预加载数据,运行主启动类时此方法会自动...
  • 在写一个敏感词过滤器Util的时候,需要注入mapper来进行数据库查询所有的敏感词,然后就向ServiceImpl里的注入一样写:@Autowiredprivate SysSensitiveWordsMapper sensitiveWordsMapper这时候注入的mapper为null,...
  • 主要介绍了详解Spring关于@Resource注入为null解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • spring 静态注入问题,源码走读深思
  • 在一个自定义的工具类中用到了service层的方法,直接通过@Autowired注解来进行注入的时候出了NullPointerException 初始化静态资源需要用到@PostConstruct注解 举个栗子 @Component public class GetCodeUtil { @...
  • 以下这种方式能注册拦截器,也能使用,但是获取到注入servicenull。 我的拦截器类 @Component public class LesionInterceptor implements HandlerInterceptor { @Autowired private IOrganizationService ...
  • 问题:显然@Autowired作用是想注入ClientServiceImp对象,但是此时spring容器并没有创建这个对象 原因:spring没有扫描到HelloConntroller.java文件,spring容器自然也不知道要创建ClientServiceImp对象 解决办法: ...
  • @Autowired注入service为null问题解决

    千次阅读 2020-08-10 14:28:57
    今天在一个普通类中注入service时出现了一个问题,我用@Autowired注入service为null。最终我是通过以下方案解决的。 1.在类上标注该类组件也就是@Component 2.静态初始化当前类 3.在初始化service的方法上...
  • 使用的时候,发现这个service为null,将MaintBusiness加上注解@Component交给Spring管理,仍不能解决问题。 追随代码,发现调用的时候是classforName的newInstance实例化的MaintBusiness,和new的差不多。 问题很...
  • 一次在自测的时候发现接口报错,debug时发现service为null,起初是以为注解失效,但是发现同一个类中其他接口却是正常的,service注入也是正常的。仅仅是报错的接口无法注入service。 最后通过发现报错的接口是因为...
  • Service类 @Controller public class AdminRoleService { @Autowired AdminRoleMapper adminRoleMapper; public AdminRole selectByPrimaryKey(Integer roleId) { AdminRole adminRole = adminRoleMapper....
  • 切面编程遇到的注入service为null的问题分析 最近学习并运用了AOP切面编程,主要是在所有的controller方法中增加权限校验、时间统计。步骤如下: 1、引入依赖包 2、增加AOP配置类,并定义切入点@PointCut以及切入后...
  • 正常来说测试类加上以下配置就可以正常@Test测试,但@SpringBootTest(classes = AdminApplication.class)中的classes的值要纸箱启动类的才可以正常注入属性。也就是说AdminApplication是springboot启动类 @Run...
  • Springboot+Websocket中@Autowired注入service为null的解决方法...项目启动时初始化,会初始化 websocket (非用户连接的),spring 同时会注入 service,该对象service 不是 null,被成功注入。但是,由于 spri
  • 解决方法: 定义静态Service , 给类的Service注入 @Component public class PlanmecaWebSocketServer { // @Autowired // private PlanmecaScreenService planmecaScreenService; //用以下代码替换注释掉的代码,...
  • 使用@Component注解注入service为null

    千次阅读 2021-06-07 21:10:48
    https://gblfy.blog.csdn.net/article/details/94294855?utm_term=service%E6%97%A0%E6%B3%95%E6%B3%A8%E5%85%A5Component%E7%B1%BB&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2...
  • @Autowired注入对象为null

    千次阅读 2020-03-13 22:31:41
    开发中遇到一个奇葩的问题,@Autowired注入的类对象为null,并且整整耗费了一天时间各种尝试,都没拍除此问题,无奈下,只好请教同事,最终在同事的帮助下解决此问题,心里是万分感激同事! 示例如下: 可以用ApiService api...
  • Spring注入(dao)或者(service)对象为null 1.spring配置有没有扫描包 2.dao和service加注解没 3.web.xml配置监器 4.注入对象忘记加@Autowired 自己总结了这么几点! ...
  • 今天在做一个两个项目间的相互调用。就是在一个系统中成单学员推送到另一个系统。...当然,这些描述都没啥用。下面来看问题。 ...调用自己的学员保存方法时,问题出现...我开始以为是单纯的没有加载,于是我给注入对象...
  • 在开发中经常会使用spring的@Autowired或@Resource来实现对象的自动注入,但是在最近的开发中在多线程中用Spring来自动注入时总是注入不进去,对象显示为null。 后来了解到 spring bean 出于线程安全考虑,不得...
  • service无法注入为null的问题

    千次阅读 2018-10-17 08:54:10
    有时候会遇到使用@Autowired或@Resource注解为null的情况,这边可以试着使用Spring的容器工具类。 工具类代码如下: package cn.gfresh.common.utils; import org.springframework.beans.BeansException; import ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 83,810
精华内容 33,524
关键字:

service层注入对象为null