java - Spring 将 Clock 作为构造函数参数注入(inject)时出现问题

标签 java spring dependency-injection

我有一个类,它采用 java.time.Clock 对象作为构造函数参数。 我在 applicationContext.xml 文件中将其定义为 bean 时遇到问题:

时间跟踪器.java

public class TimeTracker{

    public final Clock clock;
    public TimeTracker(Clock clock){
        this.clock = clock;
    }

applicationContext.xml

<bean id="timeTracker" 
        class="com.tracker.TimeTracker">
        <constructor-arg type="java.time.Clock" value=""/> 
</bean>

我遇到的错误是:构造函数参数类型不明确 - 您是否指定了正确的 bean 引用作为构造函数参数?

最佳答案

尝试这样:

<bean class=“java.time.Clock” factory-method=“java.time.Clock.systemDefaultZone” name=“clock”/>

<bean id="timeTracker" 
    class="com.tracker.TimeTracker">
    <constructor-arg ref=“clock”/> 
</bean>

value 属性仅适用于原始类型。

关于java - Spring 将 Clock 作为构造函数参数注入(inject)时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50834031/

相关文章:

java - 为什么我在运行 docker image 时收到 Error : Could not find or load main class . jar

asp.net-web-api - 使用 Autofac 和 ASP.Net Identity 将 ApplicationUserManager 传递给 ApplicationOAuthProvider

c# - 为什么每次都需要调用BuildServiceProvider获取依赖?

python - 覆盖具有参数的 FastAPI 依赖项

java - 为什么我在使用 lucene 时查询解析器总是出现错误

java - 如何将属性从一个 Java bean 复制到另一个?

java - 如何处理 JAX-RS 中的意外异常

java - 使用 Spring @ManagedNotification 注释生成 JMX 通知的任何示例

java - JTextArea/JTextComponent setText 导致崩溃

java - Spring JMS 模板 - 并发调用