解决spring boot中普通类中使用service为null 的方法
Posted 宝贝企鹅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决spring boot中普通类中使用service为null 的方法相关的知识,希望对你有一定的参考价值。
我使用的是springboot+mybatisplus +mysql
1.创建一个SpringUtil工具类
import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; public final class SpringUtil implements ApplicationContextAware { private static ApplicationContext applicationContext = null; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { // TODO Auto-generated method stub if (SpringUtil.applicationContext == null) { SpringUtil.applicationContext = applicationContext; System.out.println("=============================================="+ "========ApplicationContext配置成功,在普通类可以通过调用ToolSpring.getAppContext()获取applicationContext对象,applicationContext=" + applicationContext + "=========="); } } public static ApplicationContext getApplicationContext() { return applicationContext; } //通过类名称获取Bean. public static Object getBean(String name) { return getApplicationContext().getBean(name); } //通过class获取Bean. public static <T> T getBean(Class<T> clazz){ return getApplicationContext().getBean(clazz); } }
2.在启动类上面添加注解
3.在普通类中使用SpringUtil创建service类
这里强转了一下,我试了下不强转也没问题
此时就可以使用testService里的方法来和数据库交互了
以上是关于解决spring boot中普通类中使用service为null 的方法的主要内容,如果未能解决你的问题,请参考以下文章
使用Spring Boot,如何分别处理普通请求和ajax请求的异常
spring bootspring boot中使用@RestController不起作用,不返回json,依旧去找访问接口的请求地址对应的页面
如何在spring boot的多个类中使用@Autowired MongoTemplate