java - Spring如何调用Argumented Constructor

标签 java spring spring-mvc spring-boot

我有这门课

@Component 
public class Workflow{

具有默认和参数构造函数 像这样

public Workflow(GraphModel graph, JSONObject state, String md5Hash)
            throws InvalidGraphException {
        this(graph);
        this.setState(state);
        this.setMd5Hash(md5Hash);
    }

现在当我使用

@Autowired
Workflow workflow;

效果不错 但我想用参数调用构造函数。我该如何实现?

请注意我试过这样创建bean

@Configuration
@ComponentScan("com.xyz.abc.*")
public class BlueBerryBeansConfiguration {
    @Bean
public Workflow getWorkflow(GraphModel graph, JSONObject getJson,
        String getmd5) throws InvalidGraphException {
    return new Workflow(graph, getJson, getmd5);
}



@Bean
public JSONObject getJson() {
    return new JSONObject();
}

@Bean
public String getmd5() {
    return new String();
}

}

在工作流构造函数中

@Autowired
    public Workflow(GraphModel graph, JSONObject state, String md5Hash)
            throws InvalidGraphException {
        this(graph);
        this.setState(state);
        this.setMd5Hash(md5Hash);
    }

    public Workflow(GraphModel graph) throws InvalidGraphException {
        this.setUnpackedGraph(graph);
    }

我收到空指针,异常对我来说很有意义,但我该如何解决 >?

请提供您宝贵的意见。谢谢。

最佳答案

在构造函数上使用 @Autowired 注释应该可以做到。如果它不起作用,请尝试删除默认构造函数(如果有的话)。

关于java - Spring如何调用Argumented Constructor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31871705/

相关文章:

java - RxJava2 在调用完成或错误时会自动处理可观察对象吗?

java - 如何使用 Java 以 24 小时格式计算两次之间的差异?

java - @Async @Aspect @AfterReturnung。我的方法有 HttpServletRequest 对象作为方法参数,但能够访问它我的 aop 方法

java - Spring Hibernate - NullPointerException SessionFactory

java - Spring 请求将 URL 映射到一个 Controller

java - 使用 Streams 通过特定属性获取两个列表之间的共同元素和差异

java - 从c到java,对象

java - Spring 和 Klout Api

spring-mvc - @ModelAttribute注解,什么时候使用它?

java - 如何创建具有两个映射字段的单独表?