首页 > 其他分享 >lombok

lombok

时间:2023-03-19 19:56:37浏览次数:34  
标签:String mapstruct private course org lombok public

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <org.mapstruct.version>1.4.1.Final</org.mapstruct.version>
        <org.projectlombok.version>1.18.12</org.projectlombok.version>
</properties>

<dependencies>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>${org.mapstruct.version}</version>
        </dependency>

        <!-- lombok dependencies should not end up on classpath -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${org.projectlombok.version}</version>
            <scope>provided</scope>
        </dependency>

        <!-- idea 2018.1.1 之前的版本需要添加下面的配置,后期的版本就不需要了,可以注释掉,
我自己用的2019.3 -->
     <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct-processor</artifactId>
            <version>${org.mapstruct.version}</version>
            <scope>provided</scope>
        </dependency>

</dependencies>

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${org.projectlombok.version}</version>
                        </path>
                        <path>
                            <groupId>org.mapstruct</groupId>
                            <artifactId>mapstruct-processor</artifactId>
                            <version>${org.mapstruct.version}</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
        </plugins>
    </build>

2、多对象转换到一个对象

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Student {

    private String name;
    private int age;
    private GenderEnum gender;
    private Double height;
    private Date birthday;

}
@Data
@AllArgsConstructor
@Builder
@NoArgsConstructor
public class Course {

    private String courseName;
    private int sortNo;
    private long id;

}
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class StudentVO {
    private String name;
    private int age;
    private String gender;
    private Double height;
    private String birthday;
    private String course;
}
@Mapper
public interface StudentMapper {

    StudentMapper INSTANCE = Mappers.getMapper(StudentMapper.class);

    @Mapping(source = "student.gender.name", target = "gender")
    @Mapping(source = "student.birthday", target = "birthday", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @Mapping(source = "course.courseName", target = "course")
    StudentVO studentAndCourse2StudentVO(Student student, Course course);

}
public class Test {

    public static void main(String[] args) {

        Student student = Student.builder().name("小明").age(6).gender(GenderEnum.Male).height(121.1).birthday(new Date()).build();
        Course course = Course.builder().id(1L).courseName("语文").build();

        StudentVO studentVO = StudentMapper.INSTANCE.studentAndCourse2StudentVO(student, course);
        System.out.println(studentVO);
    }

}

标签:String,mapstruct,private,course,org,lombok,public
From: https://www.cnblogs.com/bigorang/p/17234034.html

相关文章

  • day05-Lombok、SpringInitializer
    Lombok、Spring-Initializer1.Lombok1.1Lombok介绍Lombok的作用是:简化Javabean的开发,可以使用Lombok的注解让代码更加简洁Java项目中,很多没有技术含量又必须存在的......
  • Lombok 中的 @Slf4j 注解
    Lombok是一种Java库,它可以通过注解来消除Java类中的样板代码,例如getter和setter方法、构造函数和equals/hashCode实现等。Lombok可以帮助Java开发人员编写更简洁、更干净的......
  • Lombok注解
    一、简介:Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率二、Lombok使用:使用Lombok需要的开发环境Java+Maven+IntelliJIDEA或者Eclipse(安装Lo......
  • Mybatis-lesson07-lombok-慎用慎用吧-03-12
    第一步:Settings中加入plugins---lombok第二步:maven中导入依赖<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><ve......
  • lombok 失效 Lombok supports: sun/apple javac 1.6, ECJ
    关于这个问题,我有种想要掐死idea的冲动。启动项目,突然@Slf4j下使用log就无效了,要多突然有多突然,然后就发现报错说,java不能使用lombok了,百度搜索了下Lomboksupports:su......
  • lombok注解
    1maven依赖<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope><version>1.18.24</version......
  • 提效神器之Lombok
    提效神器之Lombok准备在IDEA插件中安装Lombok在IDEA设置中启动annotationprocessing添加依赖 <dependency> <groupId>org.projectlombok</groupId> <art......
  • 记一次IDEA版本导致的Lombok失效问题
    项目编译报错:java:找不到符号符号:变量log解决方法:我们只需要更新lombok版本,使用1.18.14及之后的版本即可,将小于这个版本的改为与项目中大的版本一致,例如1.16.X版本......
  • IDEA在编译的时候报Error: java: 找不到符号符号: 变量 log lombok失效问题
    setting-->Build,Execution,Deployment 点击complier 在SharedbuildprocessVMoptions:中添加配置  -Djps.track.ap.dependencies=false ......
  • lombok的@Builder注解的坑
    1.导致无参构造丢失单独使用@Data注解,是会生成无参数构造方法。单独使用@Builder注解,发现生成了全属性的构造方法。@Data和@Builder一起用:我们发现没有了默认的构造方......