You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring框架中如何注入java.util.Calendar.getInstance实例?

你当前的配置错误原因是:class属性需填写类的全限定名,而getInstance()是Calendar的静态工厂方法,不能直接写在class属性中,且Calendar本身是抽象类,无法直接通过new实例化,需要用静态工厂方法的方式配置。

方案1:XML配置方式

指定factory-method属性声明静态工厂方法即可,正确配置如下:

<bean id="calendar" class="java.util.Calendar" factory-method="getInstance" />

需要注入到其他Bean时,直接通过ref引用即可:

<bean id="yourService" class="com.example.YourService">
  <property name="calendar" ref="calendar" />
</bean>

如果需要基于这个Calendar实例获取Date类型对象,也可以扩展配置:

<bean id="currentDate" factory-bean="calendar" factory-method="getTime" />

方案2:JavaConfig配置方式(注解场景常用)

直接在配置类中定义Bean:

@Configuration
public class SpringConfig {
    @Bean
    public Calendar calendar() {
        return Calendar.getInstance();
    }
}

注入时直接加@Autowired注解即可:

@Service
public class YourService {
    @Autowired
    private Calendar calendar;
}

内容的提问来源于stack exchange,提问作者LEARNER OLY ASKING

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 07:36:03