如何在Job中获取 IOC applicationcontext

https://segmentfault.com/q/1010000008002800

SpringBoot之整合Quartz调度框架-基于Spring Boot2.0.2版本

https://blog.csdn.net/weixin_39723544/article/details/83382000

Quartz与Spring的整合使用

https://blog.csdn.net/earl_yuan/article/details/50668864

SpringBoot中获取ApplicationContext的三种方式
ApplicationContext是什么?

简单来说就是Spring中的容器,可以用来获取容器中的各种bean组件,注册监听事件,加载资源文件等功能。

Application Context获取的几种方式

1 直接使用Autowired注入
@Component
public class Book1 {

@Autowired
private ApplicationContext applicationContext;

public void show (){
System.out.println(applicationContext.getClass());
}
}

2 利用 spring4.3 的新特性
使用spring4.3新特性但是存在一定的局限性,必须满足以下两点:

1 构造函数只能有一个,如果有多个,就必须有一个无参数的构造函数,此时,spring会调用无参的构造函数

2 构造函数的参数,必须在spring容器中存在
 
@Component
public class Book2 {

private ApplicationContext applicationContext;

public Book2(ApplicationContext applicationContext){
System.out.println(applicationContext.getClass());
this.applicationContext=applicationContext;
}

public void show (){
System.out.println(applicationContext.getClass());
}

}
 
3 实现spring提供的接口 ApplicationContextAware
spring 在bean 初始化后会判断是不是ApplicationContextAware的子类,调用setApplicationContext()方法, 会将容器中ApplicationContext传入进去

@Component
public class Book3 implements ApplicationContextAware {

private ApplicationContext applicationContext;

public void show (){
System.out.println(applicationContext.getClass());
}

@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
}

结果获取三次:

class org.springframework.context.annotation.AnnotationConfigApplicationContext
class org.springframework.context.annotation.AnnotationConfigApplicationContext
class org.springframework.context.annotation.AnnotationConfigApplicationContext
————————————————

如何在Job中获取 IOC applicationcontext的更多相关文章

  1. 如何在Sql2008中获取表字段属性和注释?

    如何在Sql2008中获取表字段属性和注释? select b.[value] from sys.columns a left join sys.extended_properties b on a. ...

  2. 如何在SpringMVC中获取request对象

    1.注解法 @Autowired private HttpServletRequest request; <listener> <listener-class> org.spr ...

  3. 关于Activity的getReferrer():如何在Activity中获取调用者?

    http://blog.csdn.net/u013553529/article/details/53856800 关于Activity的getReferrer()之一:如何在Activity中获取调用 ...

  4. 如何在onCreate中获取View的高度和宽度

    如何在onCreate中获取View的高度和宽度 原文链接:http://mp.weixin.qq.com/s?__biz=MzAwODE1NTI2MQ==&mid=2247483676&am ...

  5. 如何在 WPF 中获取所有已经显式赋过值的依赖项属性

    原文:如何在 WPF 中获取所有已经显式赋过值的依赖项属性 获取 WPF 的依赖项属性的值时,会依照优先级去各个级别获取.这样,无论你什么时候去获取依赖项属性,都至少是有一个有效值的.有什么方法可以获 ...

  6. quartz 的job中获取到applicationContext

    第一步: 定义SchedulerFactoryBean的applicationContextSchedulerContextKey <bean name="scheduler" ...

  7. asp.net mvc 如何在View中获取Url参数的值

    如果url是 /home/index?id=3 直接Request就ok. 但是如果路由设定为:{controller}/{action}/{id} url是 /home/index/3   这时想在 ...

  8. jsp内置对象pageContext如何在Servlet中获取值

    pageContext javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据.常用的方法有getServletCont ...

  9. SpringMvc 你该知道如何在HandlerExceptionResolver中获取Model

    在项目开发中,我们通常通过参数的形式注入Model对象,如: @RequestMapping("/demo") public String demo(Model model) { ...

随机推荐

  1. [Gamma阶段]第八次Scrum Meeting

    Scrum Meeting博客目录 [Gamma阶段]第八次Scrum Meeting 基本信息 名称 时间 地点 时长 第八次Scrum Meeting 19/06/04 大运村寝室6楼 40min ...

  2. How To Wake Up at 5 A.M. Every Day

    How To Wake Up at 5 A.M. Every Day For the past 3 months, I’ve successfully transitioned into being ...

  3. python lambda表达式简单用法【转】

    python lambda表达式简单用法 1.lambda是什么? 看个例子: g = lambda x:x+1 看一下执行的结果: g(1) >>>2 g(2) >>& ...

  4. supervisor配置进程

    具体配置见此页面:https://www.jianshu.com/p/ac6c84a2f415 设置开机启动:https://blog.csdn.net/xyang81/article/details ...

  5. sql server 利用存储过程http请求调用URL链接访问方法

    sp_configure ; GO RECONFIGURE; GO sp_configure ; GO RECONFIGURE; GO EXEC sp_configure 'Ole Automatio ...

  6. 泡泡一分钟:Geometric and Physical Constraints for Drone-Based Head Plane Crowd Density Estimation

    张宁 Geometric and Physical Constraints for Drone-Based Head Plane Crowd Density Estimation 基于无人机的向下平面 ...

  7. Flask 学习(一)简单介绍

    Flask介绍(轻量级的框架) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收ht ...

  8. MSSQL中 float转换为varchar 变成科学计数法解决方案

    在系统初始化的时候,没有在数值型的数据前面加上 单引号,导致进入数据库后都变成float型我们需要做以下转换就能将数据变为 varchar类型 declare @a float //定义一个float ...

  9. Mysql日期函数说明

    1.获取当天日期 current_date  ->   2019-07-17 00:00:00 2.获取昨天日期函数 date_sub(current_date,INTERVAL 1 day)  ...

  10. linux安装jira

    JIRA配置本地MYSQL数据库 https://blog.csdn.net/coin_one/article/details/78376238 jira7.3.6 linux安装及破解 https: ...