spring 调用static方法
时间: 2023-12-28 20:54:29 浏览: 39
在 Spring 中调用 static 方法需要使用静态工厂方法,即使用 `org.springframework.beans.factory.config.MethodInvokingFactoryBean` 类来调用 static 方法。
首先,在 Spring 的配置文件中声明一个 `MethodInvokingFactoryBean` 对象,指定要调用的类的名称、方法名以及方法参数,如下所示:
```xml
<bean id="myBean" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="com.example.MyClass" />
<property name="targetMethod" value="myStaticMethod" />
<property name="arguments">
<list>
<value>arg1</value>
<value>arg2</value>
</list>
</property>
</bean>
```
然后,在代码中获取该对象并调用其 `afterPropertiesSet()` 方法,即可执行 static 方法:
```java
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
MethodInvokingFactoryBean myBean = context.getBean("myBean", MethodInvokingFactoryBean.class);
myBean.afterPropertiesSet();
```
其中,`afterPropertiesSet()` 方法是 `InitializingBean` 接口的一个方法,用于在 bean 初始化完成后执行一些操作。