zoukankan      html  css  js  c++  java
  • 解决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.在启动类上面添加注解

    @Import(SpringUtil.class)
    依赖 import org.springframework.context.annotation.Import;

    3.在普通类中使用SpringUtil创建service类
     

      TestService testService = (TestService )SpringUtil.getBean(TestService.class);
      testService.save(testEntity);


    这里强转了一下,我试了下不强转也没问题
    此时就可以使用testService里的方法来和数据库交互了

  • 相关阅读:
    软件工程系统开发课堂测试01
    java--printf
    java--局部类只能访问外包方法的final局部成员
    java--内部类实现“类的多重继承”
    java--内部类
    【转】java--final
    java--实例成员 & 静态成员
    java--方法和成员的继承,访问
    Java--格式化输出
    HDOJ 1005
  • 原文地址:https://www.cnblogs.com/baobeiqi-e/p/11857245.html
Copyright © 2011-2022 走看看