Lombok features

val
Finally! Hassle-free final local variables.
@NonNull
or: How I learned to stop worrying and love the NullPointerException.
@Cleanup
Automatic resource management: Call your close() methods safely with no hassle.
@Getter / @Setter
Never write public int getFoo() {return foo;} again.
@ToString
No need to start a debugger to see your fields: Just let lombok generate a toString for you!
@EqualsAndHashCode
Equality made easy: Generates hashCode and equals implementations from the fields of your object.
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
Constructors made to order: Generates constructors that take no arguments, one argument per final / non-null field, or one argument for every field.
@Data
All together now: A shortcut for @ToString, @EqualsAndHashCode, @Getter on all fields, and @Setter on all non-final fields, and @RequiredArgsConstructor!
@Value
Immutable classes made very easy.
@SneakyThrows
To boldly throw checked exceptions where no one has thrown them before!
@Synchronized
synchronized done right: Don't expose your locks.
@Getter(lazy=true)
Laziness is a virtue!
@Log
Captain's Log, stardate 24435.7: "What was that line again?"
@Delegate
Don't lose your composition.
experimental features
Here be dragons: Extra features which aren't quite ready for prime time yet.
If you'd rather read a longer tutorial, here is a great tutorial (including a walkthrough through some of the above features) written by Michael Kimberlin.
The documentation above is a lot easier to follow, but if you want to build your own transformations, or you want to add javadoc to lombok.jar in your IDE, you can also check out the javadoc.

Running Lombok

On eclipse

Execute lombok.jar (doubleclick it, or run java -jar lombok.jar). Follow instructions.

On javac (and maven, ant, and other build tools)

Include lombok.jar on the classpath as you compile. That's all there is to it!
Lombok hosts its own maven repository, so adding lombok to maven is very simple. full instructions are here.

On GWT (Google Widget Toolkit)

See gwt setup.

On javadoc, and other source-based tools

Use delombok first, then run javadoc or GWT on the delombok-ed code.

Running delombok

Delombok copies your source files to another directory, replacing all lombok annotations with their desugared form. So, it'll turn @Getter back into the actual getter. It then removes the annotation. This is useful for all sorts of reasons; you can check out what's happening under the hood, if the unthinkable happens and you want to stop using lombok, you can easily remove all traces of it in your source, and you can use delombok to preprocess your source files for source-level tools such as javadoc and GWT. More information about how to run delombok, including instructions for build tools can be found at the delombok page.