eclipse插件(Eclipse常用开发插件LombokMapStructConsole)

1.1 Console支持彩色输出插件:ANSI Escape in Console 1.1.1 进入Eclipse Marketplace,搜索ANSI Escape in Console并插件 1.1.2 设置application.properties #Console支持彩色输出,需要...

1.1 Console支持彩色输出插件:ANSI Escape in Console

1.1.1 进入Eclipse Marketplace,搜索ANSI Escape in Console并插件

Eclipse常用开发插件(Lombok、MapStruct、Console)

1.1.2 设置application.properties

#Console支持彩色输出,需要安装插件:ANSI Escape in Console

spring.output.ansi.enabled=DETECT

1.1.3 配置日志(logback.xml)

<?xml version="1.0" encoding="UTF-8" ?>

<configuration scan="true" scanPeriod="3 seconds">

<property name="LOG_HOME" value="D://logs" />

<!-- 彩色日志 -->

<!-- 彩色日志依赖的渲染类 -->

<conversionRule conversionWord="clr" converter />

<conversionRule conversionWord="wex" converter />

<conversionRule conversionWord="wEx" converter />

<!-- 彩色日志格式 -->

<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />

<!--设置日志输出为控制台-->

<appender name="STDOUT" >

<encoder>

<pattern>${CONSOLE_LOG_PATTERN}</pattern>

<charset>utf8</charset>

</encoder>

</appender>

<!-- 不带彩色的日志在控制台输出时候的设置 -->

<!-- <appender name="STDOUT" >

<encoder >

格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符

<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>

</encoder>

</appender> -->

<!-- 按照每天生成日志文件 -->

<appender name="FILE" >

<!-- 日志记录器的滚动策略,按日期,按大小记录 -->

<rollingPolicy >

<!--日志文件输出的文件名-->

<FileNamePattern>${LOG_HOME}/MultiTenant-%d{yyyy-MM-dd}.log</FileNamePattern>

<!--日志文件保留天数-->

<MaxHistory>30</MaxHistory>

</rollingPolicy>

<!-- 追加方式记录日志 -->

<append>true</append>

<!-- 日志文件的格式 -->

<encoder >

<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->

<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>

<charset>utf-8</charset>

</encoder>

<!--日志文件最大的大小-->

<triggeringPolicy >

<MaxFileSize>10MB</MaxFileSize>

</triggeringPolicy>

</appender>

<!-- 日志输出级别 -->

<root>

<level value="INFO"/>

<appender-ref ref="STDOUT"/>

<appender-ref ref="FILE"/>

</root>

</configuration>

1.1.4 运行结果

Eclipse常用开发插件(Lombok、MapStruct、Console)

1.2 lombok插件:实体类getter/setter自动生成

1.2.1 在Eclipse中配置lombok插件

l 从lombok的官方网址:http://projectlombok.org/,下载lombok.jar包;

l 拷贝lombok.jar至eclipse安装目录下;

l 修改eclipse启动配置文件:eclipse.ini,添加如下配置

-javaagent:lombok.jar

-Xbootclasspath/a:lombok.jar

l 重新启动Eclipse

1.2.2 在pom.xml中添加lombok相关引用

<dependencies>

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

<scope>provided</scope>

</dependency>

</dependencies>

1.2.3 常用注解

@Data:注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法

@Setter:注解在属性上;为属性提供 setting 方法

@Getter:注解在属性上;为属性提供 getting 方法

@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象

@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法

@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法

1.2.4 在实体类中添加相关注解

Eclipse常用开发插件(Lombok、MapStruct、Console)

1.2.5 测试代码

Eclipse常用开发插件(Lombok、MapStruct、Console)

1.2.6 相关资料

官网:http://mapstruct.org/documentation/installation/

1.3 MapStruct插件:对象映射

1.3.1 在pom.xml中添加MapStruct相关引用

<dependencies>

<dependency>

<groupId>org.mapstruct</groupId>

<artifactId>mapstruct</artifactId>

<version>1.3.0.Final</version>

</dependency>

</dependencies>

<build>

<plugins>

<plugin>

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

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

<version>3.5.1</version> <!-- or newer version -->

<configuration>

<source>1.8</source> <!-- depending on your project -->

<target>1.8</target> <!-- depending on your project -->

<annotationProcessorPaths>

<path>

<groupId>org.mapstruct</groupId>

<artifactId>mapstruct-processor</artifactId>

<version>1.3.0.Final</version>

</path>

<!-- other annotation processors -->

</annotationProcessorPaths>

</configuration>

</plugin>

</plugins>

</build>

1.3.2 Entity类

public class Target {

private Long testing;

public Long getTesting() {

return testing;

}

public void setTesting( Long testing ) {

this.testing = testing;

}

}

1.3.3 DTO类

@Data

public class Source {

private String test;

}

1.3.4 Mapper类

@Mapper

public interface SourceTargetMapper {

SourceTargetMapper MAPPER = Mappers.getMapper( SourceTargetMapper.class );

@Mapping( source = "test", target = "testing" )

Target toTarget( Source s );

}

1.3.5 单元测试

public class SourceTargetMapperTest {

@Test

public void testMapping() {

Source s = new Source();

s.setTest( "5" );

Target t = SourceTargetMapper.MAPPER.toTarget( s );

assertEquals( 5, (long) t.getTesting() );

}

}

1.3.6 相关资料

官网:http://mapstruct.org/documentation/installation/

Git实例代码:https://github.com/mapstruct/mapstruct-examples

  • 发表于 2022-10-30 11:47:35
  • 阅读 ( 277 )
  • 分类:科技

0 条评论

请先 登录 后评论
高小丽
高小丽

451 篇文章

你可能感兴趣的文章

相关问题