@Mapper(componentModel = "spring")使用方法教程
时间: 2024-10-17 15:14:17 浏览: 44
generic-mapper:一个帮助程序项目,可使用源类型和目标类型访问Mapstruct创建的映射器
`@Mapper`注解带有`componentModel = "spring"`属性,意味着该Mapper会被Spring框架管理,使得它能够在Spring容器中作为Bean实例化,并且支持自动装配。这在微服务架构或依赖注入的场景中非常有用。下面是使用这个注解的简单教程:
1. **导入依赖**:在pom.xml或build.gradle中添加Spring和MapStruct-Spring特定的依赖:
```xml
<!-- Maven -->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-spring</artifactId>
<version>最新版本号</version>
</dependency>
<!-- Gradle -->
implementation 'org.mapstruct:mapstruct-spring:最新版本号'
```
2. **添加Spring配置**:在Spring的配置文件如application.properties或application.yml中,启用MapStruct扫描:
```properties
spring.mapper.registry.scan=com.yourpackage.mappers
spring.mapper.default-component-model=spring
```
3. **创建Spring-Mapper接口**:使用`@Mapper(componentModel = "spring")`注解的接口,会自动注册为Spring Bean:
```java
@Mapper(componentModel = "spring")
public interface YourMapper {
EntityDto convertToDto(Entity entity);
Entity convertToEntity(EntityDto entityDto);
}
```
4. **自动装配和使用**:在需要的地方,Spring会自动创建Mapper的实例并注入到其他组件中:
```java
@Autowired
private YourMapper mapper;
EntityDto result = mapper.convertToDto(entity);
```
阅读全文