1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6.  
  7. <groupId>com.ck.test</groupId>
  8. <artifactId>CK_Test</artifactId>
  9. <version>1.0.0</version>
  10.  
  11. <properties>
  12. <java.version>1.8</java.version>
  13. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  14. <framework.bom.version>3.18.0</framework.bom.version>
  15. <maven-compiler-plugin.version>3.6.0</maven-compiler-plugin.version>
  16. <maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version>
  17. <maven-source-plugin.version>3.0.1</maven-source-plugin.version>
  18. <maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
  19. <maven-war-plugin.version>3.0.0</maven-war-plugin.version>
  20. <maven-install-plugin.version>2.5.2</maven-install-plugin.version>
  21. </properties>
  22.  
  23. <dependencyManagement>
  24. <dependencies>
  25. <!-- Framework -->
  26. <dependency>
  27. <groupId>com.XXX.framework</groupId>
  28. <artifactId>framework-bom</artifactId>
  29. <version>${framework.bom.version}</version>
  30. <type>pom</type>
  31. <scope>import</scope>
  32. </dependency>
  33. <!-- lombok -->
  34. <dependency>
  35. <groupId>org.projectlombok</groupId>
  36. <artifactId>lombok</artifactId>
  37. <version>1.18.2</version>
  38. <scope>provided</scope>
  39. </dependency>
  40. </dependencies>
  41. </dependencyManagement>
  42.  
  43. <dependencies>
  44. <!-- lombok -->
  45. <dependency>
  46. <groupId>org.projectlombok</groupId>
  47. <artifactId>lombok</artifactId>
  48. </dependency>
  49. <!-- guava -->
  50. <dependency>
  51. <groupId>com.google.guava</groupId>
  52. <artifactId>guava</artifactId>
  53. </dependency>
  54. </dependencies>
  55.  
  56. <build>
  57. <pluginManagement>
  58. <plugins>
  59. <plugin>
  60. <groupId>org.apache.maven.plugins</groupId>
  61. <artifactId>maven-compiler-plugin</artifactId>
  62. <version>${maven-compiler-plugin.version}</version>
  63. <configuration>
  64. <source>${java.version}</source>
  65. <target>${java.version}</target>
  66. <encoding>${project.build.sourceEncoding}</encoding>
  67. </configuration>
  68. </plugin>
  69. <plugin>
  70. <groupId>org.apache.maven.plugins</groupId>
  71. <artifactId>maven-surefire-plugin</artifactId>
  72. <version>${maven-surefire-plugin.version}</version>
  73. </plugin>
  74. <plugin>
  75. <groupId>org.apache.maven.plugins</groupId>
  76. <artifactId>maven-source-plugin</artifactId>
  77. <version>${maven-source-plugin.version}</version>
  78. <executions>
  79. <execution>
  80. <id>attach-sources</id>
  81. <goals>
  82. <goal>jar-no-fork</goal>
  83. </goals>
  84. </execution>
  85. </executions>
  86. </plugin>
  87. <plugin>
  88. <groupId>org.apache.maven.plugins</groupId>
  89. <artifactId>maven-jar-plugin</artifactId>
  90. <version>${maven-jar-plugin.version}</version>
  91. </plugin>
  92. <plugin>
  93. <groupId>org.apache.maven.plugins</groupId>
  94. <artifactId>maven-war-plugin</artifactId>
  95. <version>${maven-war-plugin.version}</version>
  96. </plugin>
  97. <plugin>
  98. <groupId>org.codehaus.mojo</groupId>
  99. <artifactId>versions-maven-plugin</artifactId>
  100. <version>2.5</version>
  101. </plugin>
  102. <plugin>
  103. <artifactId>maven-eclipse-plugin</artifactId>
  104. <version>2.9</version>
  105. <configuration>
  106. <downloadSources>true</downloadSources>
  107. <ajdtVersion>none</ajdtVersion>
  108. <additionalConfig>
  109. <file>
  110. <name>.settings/org.eclipse.jdt.core.prefs</name>
  111. <content>
  112. org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
  113. eclipse.preferences.version=1
  114. org.eclipse.jdt.core.compiler.source=1.7
  115. org.eclipse.jdt.core.compiler.compliance=1.7
  116. </content>
  117. </file>
  118. </additionalConfig>
  119. </configuration>
  120. </plugin>
  121. </plugins>
  122. </pluginManagement>
  123. </build>
  124.  
  125. </project>
  1. package com.ck.test.misc;
  2.  
  3. import com.google.common.base.MoreObjects;
  4. import com.google.common.base.Objects;
  5. import com.google.common.collect.ComparisonChain;
  6. import lombok.AllArgsConstructor;
  7. import lombok.Data;
  8. import lombok.NoArgsConstructor;
  9.  
  10. @Data
  11. @AllArgsConstructor
  12. @NoArgsConstructor
  13. public class Book implements Comparable<Book> {
  14. private String title;
  15. private String author;
  16. private String publisher;
  17. private String isbn;
  18. private double price;
  19.  
  20. @Override
  21. public int hashCode() {
  22. return Objects.hashCode(title, author, publisher, isbn);
  23. }
  24.  
  25. @Override
  26. public boolean equals(Object obj) {
  27. if(this == obj){
  28. return true;
  29. }
  30. if(obj == null){
  31. return false;
  32. }
  33. if(getClass() != obj.getClass()){
  34. return false;
  35. }
  36. if(!(obj instanceof Book)){
  37. return false;
  38. }
  39. Book other = (Book)obj;
  40.  
  41. return Objects.equal(title, other.getTitle()) &&
  42. Objects.equal(author, other.getAuthor()) &&
  43. Objects.equal(publisher, other.getPublisher()) &&
  44. Objects.equal(isbn, other.getIsbn()) &&
  45. price == other.getPrice();
  46. }
  47.  
  48. @Override
  49. public String toString() {
  50. return MoreObjects.toStringHelper(this).omitNullValues()
  51. .add("title", title)
  52. .add("author", author)
  53. .add("publisher", publisher)
  54. .add("isbn", isbn)
  55. .add("price", price)
  56. .toString();
  57. }
  58.  
  59. public static void main(String[] args){
  60. Book book = new Book("Core Java", "Tom", "JackMa", "11-22-33-44", 12.80);
  61. System.out.println(book);
  62. }
  63.  
  64. @Override
  65. public int compareTo(Book o) {
  66. return ComparisonChain.start()
  67. .compare(this.title, o.getTitle())
  68. .compare(this.author, o.getAuthor())
  69. .compare(this.publisher, o.publisher)
  70. .compare(this.isbn, o.getIsbn())
  71. .compare(this.price, o.getPrice())
  72. .result();
  73. }
  74.  
  75. }

基本 Java Bean的更多相关文章

  1. 用大白话聊聊JavaSE -- 如何理解Java Bean(一)

    首先,在开始本章之前,先说一个总的概念:所谓的Java Bean,就是一个java类,编译后成为了一个后缀名是 .class的文件.这就是Java Bean,很多初学者,包括当年的我自己,总是被这些专 ...

  2. Java Bean、POJO、 Entity、 VO 、PO、DAO

    Java Bean.POJO. Entity. VO , 其实都是java 对象,只不过用于不同场合罢了.    Java Bean: 就是一个普通的Java 对象, 只不过是加了一些约束条件.  声 ...

  3. [Java] JSP笔记 - Java Bean

    一. Java Bean 是什么? Java Bean 其实就是一个符合特定规则的 Java Class.这些规则包括: 使用 public 声明的公用类 属性使用public 的get,set方法访 ...

  4. Java Bean

    Java 帝国之Java bean (上) Java 帝国之Java bean(下) Difference between DTO, VO, POJO, JavaBeans? Java bean 是个 ...

  5. Java bean validation 规范与参考实现

    1.Apache Bval 依赖包:validation-api-1.1.0.Final.jar org.apache.bval.bundle-1.1.1.jar bval-core-1.1.1.ja ...

  6. java bean 转换工具

    考量要素: 1.简单的约定优于配置的同名属性copy 2.嵌套属性copy 3.flattern(扁平化)支持,要支持N层结构的copy到一层结构. 4.性能 如下这个网页,里面提到了好多工具. ht ...

  7. java bean、List、数组、map和Json的相互转化

    工程 json包为  代码 package com.my.json; public class ChildBean { private String childName; private String ...

  8. spring mvc返回json字符串数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable

    1.spring mvc返回json数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable 2. @RequestMapping(val ...

  9. JAVA bean与XML互转的利器---XStream

    最近在项目中遇到了JAVA bean 和XML互转的需求, 本来准备循规蹈矩使用dom4j忽然想起来之前曾接触过的XStream, 一番研究豁然开朗,利器啊利器, 下来就XStream的一些用法与大家 ...

  10. 对JAVA Bean使用PropertyDescriptor反射调用JAVA方法

    对于符合JAVA Bean规范的bean,调用其方法应优先使用java.beans.PropertyDescriptor获取Method进行方法调用,以获得更大的可维护性. 示比例如以下: NonCo ...

随机推荐

  1. 普通页面引入React(使用和不使用JSX)

    1. 不使用JSX 优点: 不用配置有关JSX的编译. 依赖语法: React.createElement(component/type, props, ...chilidren); //第一个参数可 ...

  2. luogu 2617

    动态区间 $k$ 大主席树 + 树状数组树状数组的每个点对应一颗线段树首先将所有点加入数据结构 枚举 x code: for(int i = x; i <= n; i += Lowbit(i)) ...

  3. Zabbix监控win10系统

    Zabbix监控win10系统 1. 在win10下安装zabbix-agent zabbix-agent下载地址:https://www.zabbix.com/downloads/4.2.6/zab ...

  4. linux中清理旧内核

    执行update的时候会自动升级内核,开机启动的时候会好多内核选项.所以我们要清理不需要内核. 查看当前系统使用的内核版本 uname -a Linux localhost.localdomain 3 ...

  5. Mac下的PHP的配置与运行

    mac 下自带apache bogon:Documents macname$ apachectl -version Server version: Apache/ (Unix) Server buil ...

  6. hive on tez 错误记录

    1.执行过程失败,报 Container killed on request. Exit code is 143 如下图: 分析:造成这种原因是由于总内存不多,而容器在jvm中占比过高,修改tez-s ...

  7. Tkinter 之OptionMenu下拉选择菜单

    一.代码示例 import tkinter as tk window = tk.Tk() # 设置窗口大小 winWidth = 600 winHeight = 400 # 获取屏幕分辨率 scree ...

  8. PHP 之查找字符串位置函数封装

    /** * 正数查找字符串n次出现的位置 * @param $str * @param $find * @param $n * @return bool|int */ function str_n_p ...

  9. linux shell下去掉windows文件的换行^M

    cat filename | tr '\n\r'  '\n' > test

  10. ICEM-缺角正方体

    原视频下载地址:https://yunpan.cn/cqKwGiMRiqN7I  访问密码 3377