Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 已忽略Web服务的自动连接构造函数_Java_Spring_Annotations_Autowired - Fatal编程技术网

Java 已忽略Web服务的自动连接构造函数

Java 已忽略Web服务的自动连接构造函数,java,spring,annotations,autowired,Java,Spring,Annotations,Autowired,部署时使用默认构造函数,运行时使用默认构造函数。 当使用autowired setter时,该setter用于运行webservice,而不是在部署时执行 我从其他主题中了解到,当有更多的自动连接构造函数时会出现问题,但这里只有一个,默认值没有注释。 是否有一种解决方案可以使用自动连接构造函数而不是默认构造函数?此字段设置为必填字段 谢谢大家! @Autowired(required = true) public MyWebserviceImpl(final Field field) {

部署时使用默认构造函数,运行时使用默认构造函数。 当使用autowired setter时,该setter用于运行webservice,而不是在部署时执行

我从其他主题中了解到,当有更多的自动连接构造函数时会出现问题,但这里只有一个,默认值没有注释。 是否有一种解决方案可以使用自动连接构造函数而不是默认构造函数?此字段设置为必填字段

谢谢大家!

@Autowired(required = true)
public MyWebserviceImpl(final Field field)
{
    System.out.println("I am in autowired constructor");
    this.field = field;
}


/*
 * @Autowired
 * public void setField(final Field field)
 * {
 * System.out.println("I am in autowired Setter");
 * this.field = field;
 * }
 */


@Autowired(required = false)
public MyWebserviceImpl()
{
    System.out.println("I am in default constructor");
}

删除默认构造函数怎么样?它在运行Web服务时返回一个错误-感觉Web服务需要它。你不应该需要默认构造函数,如果需要的话,首先控制Web服务构造的不是Spring,
@Autowired
则不起作用。我删除了默认构造函数,并在部署时生成了此错误:由:org.jboss.as.server.deployment.DeploymentUnitProcessingException:WFLYEE0048:Konnte引起标准Konstruktor für class.MyWebserviceImpl nicht finden \“}”,这在英语中表示它找不到该类的默认构造函数。该类使用HandlerChain和WebService进行注释-我确实没有使用webservices的经验,但如果我没有错的话,这些是Spring注释。