【问题描述】
长假回来上班后的第一天,开发环境竟然出问题了。代码中所有的getter和setter方法都报错,显示各个实体类中没有提供对应的get/set方法。
【解决方法】
原因是myeclipse安装目录下少了lombok的jar包,另外myeclipse的ini文件还需要添加两句配置如下:
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar
【Lombok】
1. introduction
lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法,构造函数之类的,lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法。
lombok能够达到的效果就是在源码中不需要写一些通用的方法,但是在编译生成的字节码文件中会帮我们生成这些方法,这就是lombok的神奇作用。
虽然有人可能会说IDE里面都自带自动生成这些方法的功能,但是使用lombok会使你的代码看起来更加简洁,写起来也更加方便。
2.features
1)@NotNull
How I learned to stop worrying and love the NullPointerException.
(不再担心而喜欢上空指针异常)
2)@Getter/@Setter
Never write public int getFoo() {return foo;} again.
(永远不必再写 public int getFoo() {return foo;})
3)@toString
No need to start a debugger to see your fields: Just let lombok generate a toString for you!
(lombok会根据field自动生成toString 方法,这个对调试来说很方便!)
4)@EqualsAndHashCode
Equality made easy: Generates hashCode and equals implementations from the fields of your object.
(生成 hashCode and equals 方法.)
5)@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
Constructors made to order: Generates constructors that take no arguments, one argument per final / non-nullfield, or one argument for every field.
(依次生成的构造函数:没有参数,每个final/不为空的字段都单独作为一个参数,每个字段都作为参数)
6)@Data
All together now: A shortcut for @ToString, @EqualsAndHashCode, @Getter on all fields, and @Setter on all non-final fields, and @RequiredArgsConstructor!
(组合注解:toString方法,equals和hashcode方法,所有字段的get方法,所有非final修饰的set方法,每个final/不为空的字段都单独作为一个参数的构造函数)
3. example
@Data
@Entity
@Table (name = "xcx_cusume_type" )
public class XcxCusumeType implements Serializable {
private static final long serialVersionUID = 1 L;
@Id
@Column (name = "timer_id" , unique = true , nullable = false )
private String id;
private String timer_name;
private String super_name;
}