详解在SpringBoot应用中获取应用上下文方法

2025-05-29 0 35

1、定义上下文工具类:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19
package com.alimama.config;

import org.springframework.context.ApplicationContext;

/**

* 上下文获取工具类

* @author mengfeiyang

*

*/

public class SpringContextUtil {

private static ApplicationContext applicationContext;

public static void setApplicationContext(ApplicationContext context) {

applicationContext = context;

}

public static Object getBean(String beanId) {

return applicationContext.getBean(beanId);

}

}

2、在启动入口类中注入applicationContext

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35
package com.alimama;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;

import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;

import org.springframework.boot.context.properties.EnableConfigurationProperties;

import org.springframework.context.ApplicationContext;

import org.springframework.context.annotation.ComponentScan;

import com.alimama.config.SbootConfig;

import com.alimama.config.SpringContextUtil;

import com.alimama.config.ZKConfig;

import com.alimama.quartz.InitTask;

/**

* spring boot启动入口类

* @author mengfeiyang

*

*/

@ComponentScan

@SpringBootApplication

@EnableConfigurationProperties({ZKConfig.class,SbootConfig.class})

public class SbootApplication implements EmbeddedServletContainerCustomizer{

public static void main(String[] args) {

ApplicationContext applicationContext = SpringApplication.run(SbootApplication.class, args);

SpringContextUtil.setApplicationContext(applicationContext);

}

@Override

public void customize(ConfigurableEmbeddedServletContainer container) {

}

}

3、调用方法

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26
package com.alimama.quartz;

import java.io.IOException;

import org.phoenix.api.action.IInterfaceAPI;

import org.phoenix.api.action.InterfaceAPI;

import org.quartz.Job;

import org.springframework.beans.factory.annotation.Autowired;

import com.alimama.config.SpringContextUtil;

import com.alimama.dto.TaskBean;

import com.alimama.service.IConfigService;

import com.alimama.service.impl.ConfigService;

/**

* 任务执行者

*

*/

public class TaskHandler implements Job{

private ConfigService configService = (ConfigService) SpringContextUtil.getBean("configService");

private IInterfaceAPI interf = new InterfaceAPI();

@Override

public void execute(JobExecutionContext arg0){

String watchDogServer = configService.getwatchDogServer();

System.out.println(watchDogServer);

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

原文链接:https://my.oschina.net/u/1266221/blog/888257

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 详解在SpringBoot应用中获取应用上下文方法 https://www.kuaiidc.com/117172.html

相关文章

发表评论
暂无评论