SpringBoot中的main方法注入service代码示例

作者:袖梨 2022-06-29

本篇文章小编给大家分享一下SpringBoot中的main方法注入service代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

在springboot中使用main方法常规无法注入service,因为以后也可能会有这种情况,所以采取工具类的方式进行,该工具类为固定写法,直接复制就行

@Component
public class SpringContextUtil implements ApplicationContextAware {
    private static ApplicationContext applicationContext = null;
 
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        if (SpringContextUtil.applicationContext == null) {
            SpringContextUtil.applicationContext = applicationContext;
        }
    }
 
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }
 
    public static Object getBean(String name) {
        return getApplicationContext().getBean(name);
    }
 
    public static  T getBean(Class clazz) {
        return getApplicationContext().getBean(clazz);
    }
 
    public static  T getBean(String name, Class clazz) {
        return getApplicationContext().getBean(name, clazz);
    }
 
}

然后在需要注入的地方,创建静态service

 private static Service service;

然后在需要使用的main方法中:

  public static void main(String[] args) {
        SpringApplication.run(**Application.class,args);
        ApplicationContext applicationContext = SpringContextUtil.getApplicationContext();
        service = applicationContext.getBean(**Service.class);
    }

相关文章

精彩推荐