MapStruct实现在Spring Boot Web应用程序中不起作用

我是Spring Boot和MapStruct工具的新手。

早些时候,一个由其他团队使用这些技术编写的项目尚未启动。然后,我在Mapper抽象类中进行了一些更改,但是现在mapper对象在应用程序启动时变为null。

映射器抽象类:

@Mapper(componentModel = "spring")

public abstract class UserAndEmployeeMapper {

public UserAndEmployeeMapper INSTANCE = Mappers.getMapper( UserAndEmployeeMapper.class );

@Mapping(source = "username", target = "name")

@Mapping(source = "ssn", target = "ssn", defaultValue = "xxxxxx" )

@Mapping(target = "salary", constant = "34.67")

@Mapping(target = "dob", dateFormat = "dd/MM/yyyy", constant = "10/12/2002")

public abstract Employee mapToEmployee(User user);

public abstract List<Employee> mapToEmployee(List<User> users);

@Mapping(source = "name", target = "username")

public abstract User mapToUser(Employee employee);

public abstract List<User> mapToUser(List<Employee> employees);

}

@Service("loginService")

public class LoginServiceImpl implements LoginService{

private static final AtomicLong counter = new AtomicLong();

@Autowired

private EmployeeDao employeeDao;

private UserAndEmployeeMapper userAndEmployeeMapper;

...

}

<build>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<version>${maven.compiler.plugin.version}</version>

<configuration>

<source>1.8</source>

<target>1.8</target>

<annotationProcessorPaths>

<path>

<groupId>org.mapstruct</groupId>

<artifactId>mapstruct-processor</artifactId>

<version>${mapstruct.jdk8.version}</version>

</path>

</annotationProcessorPaths>

</configuration>

</plugin>

</build>

在LoginServiceImpl中添加@Autowired之后,应用程序无法启动,并显示以下错误日志

***************************

APPLICATION FAILED TO START

***************************

Description:

Field userAndEmployeeMapper in org.service.impl.LoginServiceImpl required a bean of type 'org.mapper.UserAndEmployeeMapper' that could not be found.

Action:

Consider defining a bean of type 'org.mapper.UserAndEmployeeMapper' in your configuration.

有什么建议么 ?

回答:

使抽象类作为接口对我有用。

public interface UserAndEmployeeMapper {

以上是 MapStruct实现在Spring Boot Web应用程序中不起作用 的全部内容, 来源链接: utcz.com/qa/433850.html

回到顶部