public abstract class AbstractMapper<T> implements Function<SomeProducts, T> {
private final ABC abc;
private final XYZ xyz;
constructor()
some abstract methods
@Component
public class ProductDTOMapper extends AbstractMapper<Product> {
constructor()
@Override
public Product apply(final SomeProducts products) {
return Product.builder()
.id()
.build();
}
@Component
public class CustomerDTOMapper extends AbstractMapper<CustomerDocument> {
constructor()
@Override
public CustomerDocument apply(final SomeProducts products) {
return CustomerDocument.builder()
.id()
.build();
}
@Data
@Builder
@Type("typeA")
public class CustomerDocument {
some attributes
}
@Data
@Builder
@Type("typeB")
public class Product {
some attributes
}
@AllArgsConstructor
@RestController
@RequestMapping
public class ZController {
private final AbstractMapper<Product> productDTOMapper;
private final AbstractMapper<CustomerDocument> customerDTOMapper;
当我启动应用程序时,我得到以下错误:
Parameter 1 of constructor in ZController required a bean of type 'x.y.z.rest.mapper.AbstractMapper' that could not be found.
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'zController' defined in file [/path/to/controller/rest/controller/ZController.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'x.y.z.rest.mapper.AbstractMapper<rest.dto.product.CustomerDocument>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1354)
看看这个:
@AllArgsConstructor
@RestController
@RequestMapping
public class ZController {
private final ProductDTOMapper productDTOMapper;
private final CustomerDTOMapper customerDTOMapper;
如果您想用super class键入,请尝试使用字段依赖项注入而不是构造函数DI,并混合使用@qualifier
和@autowired
注释。
问候,
我的Spring Batch配置有5个步骤,除了阅读器之外,所有步骤都是相同的。有没有一种方法可以把步骤的所有其他部分抽象成“父”步骤,这样我就不需要重复所有的事情?我知道这可以用XML完成,但是我不知道java的等价物。 以下是其中一个步骤: 以下是其中一位读者的定义:
我通过学校为一项任务提供的简报创建了一个飞机座位预订系统。我遇到了一个我无法解决的主要问题。 摘要说明抽象类必须有一个抽象方法和大约4个公共方法。在抽象类的两个子类中,我们都必须初始化对象数组(所有普通的座位)。然而,一旦它们被初始化,我不知道如何将它们发送回抽象类(该类有一个检查未预订的飞机座位的方法,这就是我需要初始化的座位对象的地方) ArrayIndexOutOfBounds在一个应该在边
问题内容: 在以下代码中,我创建了一个基本抽象类。我希望所有继承自其的类都提供该属性,因此我将该属性设置为。 然后,我创建了一个名为的子类,该子类旨在提供一些功能,但仍保持抽象。中没有属性,但是python实例化了该类的对象而没有错误。一个人如何创建抽象属性? 问题答案: 从Python 3.3 开始,修复了一个错误,这意味着装饰器现在应用于抽象方法时,可以正确地标识为抽象。 注:订单的问题,你必
我有一个子类,它声明了我的抽象超类中的所有方法,但它仍然给我一个错误,说明我的类不是抽象的。我不知道为什么会抛出这个错误。 我得到的具体错误是 PhoneBookEntry.java: 1:错误:PhoneBookEntry不是抽象的,并且不会覆盖可比中的抽象方法compareTo(Object) 我的问题代码: 还有我的子类:
我需要将旧式spring项目迁移到springboot。假设下面的代码片段我必须迁移到Spring Boot风格。 在这里我的问题,如何将下面的抽象bean转换为@Bean?