首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Project Lombok—便利实用的annotation工具

2012-08-08 
Project Lombok—方便实用的annotation工具Project Lombok?项目地址:http://projectlombok.org/features/in

Project Lombok—方便实用的annotation工具

Project Lombok?
项目地址:http://projectlombok.org/features/index.html
?

使用Lombok的annotation可以大大减少我们的重复性代码,使我们的代码开起来非常的简介干净。?

目前版本:0.9.3,具有以下功能特点?
1、@Getter / @Setter?

2、@Getter(lazy=true)?

3、@ToString?

4、@EqualsAndHashCode?

5、@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor?

6、@Data?

7、@Cleanup?

8、@Synchronized?

9、@SneakyThrows?

10、@Log?

11、val?

具体使用例子可以参考上面的项目地址,每一个特性都有相应的实例,这里就不再赘述了。?


在eclipse中使用Lombok:?
1、下载Lombok.jar?http://projectlombok.googlecode.com/files/lombok.jar?
2、运行Lombok.jar: java -jar? D:\001_software\work\Java\libs\lombok.jar?
3、选择eclipse安装路径?
4、安装/升级?
至此就安装好了Lombok,接下来就可以在eclipse中使用了。?

打开eclipse,创建如下的javabean:?

Java代码??Project Lombok—便利实用的annotation工具
  1. public?@Data?class?DataObject?{??
  2. ????private?String?id;??
  3. ????private?String?name;??
  4. ????private?String?userId;??
  5. ????private?String?password;??
  6. }??

找到eclipse编译后生成的class文件,使用javap命令查看字节码信息如下:?
Java代码??Project Lombok—便利实用的annotation工具
  1. public?class?com.igoolu.lombok.DataObject?extends?java.lang.Object{??
  2. ????public?com.igoolu.lombok.DataObject();??
  3. ????public?java.lang.String?toString();??
  4. ????public?java.lang.String?getId();??
  5. ????public?java.lang.String?getName();??
  6. ????public?java.lang.String?getUserId();??
  7. ????public?java.lang.String?getPassword();??
  8. ????public?void?setId(java.lang.String);??
  9. ????public?void?setName(java.lang.String);??
  10. ????public?void?setUserId(java.lang.String);??
  11. ????public?void?setPassword(java.lang.String);??
  12. ????public?boolean?equals(java.lang.Object);??
  13. ????public?int?hashCode();??
  14. }??

可以看到,生成的class文件中已经自动生成了setter、getter方法、toString方法、hashCode方法、equals方法。?




在maven中使用Lombok:只需要在pom.xml中增加以下内容即可?
Xml代码??Project Lombok—便利实用的annotation工具
  1. <dependencies>??
  2. ????<dependency>??
  3. ????????<groupId>org.projectlombok</groupId>??
  4. ????????<artifactId>lombok</artifactId>??
  5. ????????<version>0.9.3</version>??
  6. ????????<scope>provided</scope>??
  7. ????</dependency>??
  8. </dependencies>??
  9. <repositories>??
  10. ????<repository>??
  11. ????????<id>projectlombok.org</id>??
  12. ????????<url>http://projectlombok.org/mavenrepo</url>??
  13. ????</repository>??
  14. </repositories>??

Xml代码??Project Lombok—便利实用的annotation工具
  1. <plugin>??
  2. ????<groupId>org.apache.maven.plugins</groupId>??
  3. ????<artifactId>maven-compiler-plugin</artifactId>??
  4. ????<configuration>??
  5. ????????<compilerVersion>1.6</compilerVersion>??
  6. ????????<source>1.6</source>??
  7. ????????<target>1.6</target>??
  8. ????</configuration>??
  9. </plugin>??

热点排行