Springboot在Utils类中使用@Autowired注入

1. 使用@Component注解标记工具类MailUtil:

2. 使用@Autowired注入我们需要的bean:

3. 在工具类中编写init()函数,并使用@PostConstruct注解标记工具类,初始化Bean:

@Component
public class MailUtil {

    @Autowired
    private JavaMailSenderImpl javaMailSender;

    public static MailUtil mailUtil;

    @PostConstruct
    public void init(){
        mailUtil=this;   //必需
        mailUtil.javaMailSender=this.javaMailSender;
    }

}

  

原文地址:https://www.cnblogs.com/pxblog/p/12231120.html

时间: 2024-08-28 21:14:28

Springboot在Utils类中使用@Autowired注入的相关文章

静态工具类中使用注解注入service

转载:http://blog.csdn.net/p793049488/article/details/37819121 一般需要在一个工具类中使用@Autowired 注解注入一个service.但是由于工具类方法一般都写成static,所以直接注入就存在问题. 注:Spring工厂要有这个bean. 使用如下方式可以解决: /** * */ package cn.ffcs.drive.common.util; import javax.annotation.PostConstruct; imp

SpringBoot(11)-单例中使用AutoWired

对于一个单例类按照平时的注解方式添加,启动时会报空指针异常,因为static类对象是创建对象后,内存中还没有注入Bean信息,且无法初始化Bean实例,这里的解决办法是利用@PostConstruct来对单例类中对象的注入. @Component public class DBManager { private static DBManager instance = new DBManager(); @Autowired public UserServiceImpl userService; p

关于工具类静态方法调用@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

静态工具类中使用注解注入service(静态方法调用有注解的非静态方法)

原文转载:http://blog.csdn.net/p793049488/article/details/37819121 解决方案如下: /** * */ package cn.common.util; import javax.annotation.PostConstruct; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired;

idea中使用Autowired注入时报红,但是运行不报错

在Preferences中如下设置,即可解除报红错误: 将Autowiring for Bean Class的Severity级别设置为Warning 原文地址:https://www.cnblogs.com/eternityz/p/12239599.html

类中各模块的加载顺序

一.引言 说实话,此部分知识是在当初学C#基础的时候学到的,起初就记得有这么回事,后来学Java的时候对于基础跳过去很多,最近项目上遇到了一个问题,最终问题当然解决了,解决后想到了类中各模块加载顺序这个知识点,当结果与理论此时相互印证一番后,对此知识豁然开朗,也更清晰. 二.问题由来 一个类Test交给Spring进行管理,但是此类通过XML的形式进行配置的,在Test类中利用@Autowired注入了使用@Service注解的Call,private Call call,我在Test类的构造函

SpringBoot项目使用多线程处理任务时无法通过@Autowired注入bean

最近在做一个"温湿度控制"的项目,项目要求通过用户设定的温湿度数值和实时采集到的数值进行比对分析,因为数据的对比与分析是一个通过前端页面控制的定时任务,经理要求在用户开启定时任务时,单独开启一个线程进行数据的对比分析,并将采集到的温湿度数值存入数据库中的历史数据表,按照我们正常的逻辑应该是用户在请求开启定时任务时,前端页面通过调用后端接口,创建一个新的线程来执行定时任务,然后在线程类中使用 @Autowired 注解注入保存历史数据的service层,在线程类中调用service层保存

Java 各级注解及@Autowired注入为null解决办法

1.@controller 控制器 用于标注控制层,相当于struts中的action层. 2.@service 服务层 用于标注服务层,主要用来进行业务的逻辑处理. 3.@repository DAO层(Repo层) 用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件. 4.@Autowired 注入实例 表示被修饰的类需要注入对象,spring会扫描所有被@Autowired标注的类,然后根据 类型 在ioc容器中找到匹配的类注入. 5.@Component (把普通pojo实例

使用APT实现Android中View的注入

个人博客 http://www.milovetingting.cn 使用APT实现Android中View的注入 前言 APT是Annotation Processing Tool的简写,通过在Java编译时期,处理注解,生成代码.APT在ButterKnife.Dagger2等框架中都有应用.下面通过使用APT,实现一个类似ButterKnife的简单的View注入的框架.(参考Jett老师的课程) ButterKnife的实现原理 既然准备实现类似ButterKnife的框架,那么我们就需要