`

在静态方法里调用spring注入的方法

 
阅读更多
在静态方法里直接调用非静态方法是不行的。
那如何调用spring注入的方法呢?


@Component
public class AutoLoginUtil {
    @Autowired
    private IUserService userService;

    private static AutoLoginUtil autoLoginUtil;

    @PostConstruct
    public void init() {
        autoLoginUtil = this;
        autoLoginUtil.userService = this.userService;
    }

    public static void autoLogin() {
        autoLoginUtil.userService.queryUserAutoLogin();
    }

}
IUserService userService是spring注入的方法。
主要是init()和@PostConstruct注解。
分享到:
评论

相关推荐

    静态方法中调用Spring注入过程解析

    在 initialize() 方法中,使用@PostConstruct注解来标记该方法,并在该方法中实现静态方法中调用Spring注入的逻辑。 实例代码分析 在示例代码中, CalcUtil 类使用了 @Component 注解来标记该类为Bean。CalcUtil ...

    static静态变量使用@Value注入方式.md

    通过上述分析和示例,我们可以看到,在Spring框架中,虽然不能直接使用`@Value`注解为静态变量注入值,但可以通过定义一个非静态方法并使用`@Value`注解来间接实现这一目标。这种方法不仅避免了潜在的警告和错误,还...

    Spring boot工具类静态属性注入及多环境配置详解

    Spring Boot工具类静态属性注入是指使用Spring Boot框架时,如何将配置信息注入到工具类的静态变量中,以便在程序中使用这些配置信息。这种方式可以方便地在不同的环境中切换配置信息,例如在开发环境中使用本地的...

    spring static静态方法里面注入bean空指针解决

    在这个例子中,`setRedisService`方法被`@Autowired`注解,Spring会在初始化时调用这个方法,将`RedisService`实例注入到`redisService`字段。然后,静态方法`t()`就可以安全地访问这个实例了。 **解决方法2:降低...

    基于Spring boot @Value 注解注入属性值的操作方法

    在Spring Boot应用中,`@Value`注解是用于注入属性值的重要工具,它可以方便地从配置文件或者非配置文件中获取数据,并将其赋值给字段或者方法参数。本篇文章将详细阐述`@Value`注解的使用方法,包括如何注入配置...

    spring+静态代理

    在IT行业中,Spring框架是Java企业级应用开发的首选工具之一,它提供了众多功能,包括依赖注入、面向切面编程(AOP)、数据访问、Web框架等。在本主题"spring+静态代理"中,我们将深入探讨如何利用Spring框架来实现...

    实例化Spring bean的两种工厂方法

    这里,`MyStaticFactory`类需要有一个静态的`createBean`方法,Spring容器会调用这个静态方法来实例化`exampleBean`。 3. **工厂方法的优点与注意事项** - **优点:**工厂方法提供了更大的灵活性,可以返回任何...

    spring 实例的工厂方法 依赖注入属性,都使用property 元素确

    调用实例工厂方法创建bean,与调用静态工厂方法创建bean 的用法基本相似。 区别如下: ·调用实例工厂方法创建bean 时,必须将实例工厂配置成bean 实例。 而静态工厂方法则无须配置工厂bean。 ·调用实例工厂方法...

    spring-实例工厂注入

    在Spring框架中,实例工厂注入是一种创建对象的方式,它允许我们通过自定义的工厂方法来控制对象的实例化过程。这种方式对于那些初始化过程复杂或者需要特殊处理的对象特别有用。下面我们将详细探讨Spring中的实例...

    springboot无法从静态上下文中引用非静态变量的解决方法

    springboot框架中经常会遇到从静态上下文中引用非静态变量的需求,但是,由于静态方法可以不用创建对象就调用,而非静态方法必须有了对象的实例才能调用,因此想在静态方法中直接引用非静态方法是不可能的。...

    Springioc注入Demo

    2. **setter注入**:通过setter方法来设置依赖对象,Spring容器会在对象创建后调用setter方法注入依赖。这种方式更符合JavaBean规范,使得对象可以在无依赖的情况下被实例化,但在使用前需要注入依赖。 3. **接口...

    JavaEE spring静态工厂创建实例

    本篇将详细介绍如何在Spring中使用静态工厂方法来创建实例。 首先,让我们理解什么是静态工厂方法。静态工厂方法是类中的一个静态成员方法,它不依赖于类的实例,而是通过类名直接调用,返回一个对象。这种方法与...

    spring项目启动加载类到静态服务类中的三种方式.zip

    但是,由于静态方法无法直接使用注解,我们可以创建一个非静态的辅助类,该类可以被Spring管理,并在其内部使用`@Autowired`注解来注入bean。之后,静态服务类通过这个辅助类访问bean。 ```java @Component ...

    Spring实战之使用静态工厂方法创建Bean操作示例

    在Spring框架中,静态工厂方法是一种创建Bean对象的方式,它允许我们通过调用类中的静态方法来实例化对象,而不是直接使用new关键字。这种方式在某些特定场景下非常有用,例如当我们需要控制对象的创建过程或者对象...

    17. Spring Boot普通类调用bean【从零开始学Spring Boot】

    当你在类的属性或方法上添加@Autowired,Spring会尝试查找匹配类型的bean并注入。 4. **ApplicationContext接口**: 这是Spring提供的接口,用于获取bean和管理bean的生命周期。你可以通过实现...

    特殊情况(ActionForm,Servlet, Filter, Listener)下Spring如何注入对象

    这种方法使得Spring可以通过调用静态setter方法来注入依赖,从而解决了ActionForm的注入问题。需要注意的是,静态字段和方法在多线程环境下可能需要额外的同步控制,以避免并发问题。 对于Servlet、Filter和...

    springboot 使用yml配置文件给静态变量赋值教程

    Spring框架不允许在静态字段上直接注入值,因为它不支持实例化静态对象。 为了解决这个问题,我们可以创建带有`@Value`注解的非静态setter方法,用于在Spring容器初始化时设置静态变量的值。首先,确保`...

    SSH笔记-静态/实例工厂方法配置bean

    但是,这种方法不支持依赖注入,因为Spring无法在调用静态方法时传递参数。 接下来,实例工厂方法配置Bean则是通过实例化一个工厂类,然后调用其非静态方法来创建Bean。这种方式的配置如下: ```xml ``` 这里,`...

    spring里面想要让一个类的实例在所有属性都准备好之后就让它自动执行某些方法

    当Spring容器检测到一个bean实现了这个接口,它会在所有依赖注入完成后调用这个方法。这是最基础的初始化回调方式。 2. **@PostConstruct 注解**: 另一种方式是使用`@PostConstruct`注解。将这个注解添加到一个非...

    JSP 获取Spring 注入对象示例

    本篇将详细讲解如何在JSP中通过Spring的WebApplicationContextUtils工具类获取Spring注入的对象。 首先,我们要明确Spring的依赖注入机制。在Spring框架中,我们可以在XML配置文件或基于注解的方式下定义bean及其...

Global site tag (gtag.js) - Google Analytics