Friday, 26 June 2020

Lombok with Spring Tool Suite 4

I have installed Lombok in Spring Tool Suite 4 just some days ago for Mac and Windows and no issues.

Project Lombok is a Java library tool that generates code for minimizing boilerplate code. The library replaces boilerplate code with easy-to-use annotations.

Download the lombok.jar 

  • šŸ‘‰ Execute  java -jar lombok.jar 
    • Note: normally or by default, it does not find the installer, it is the common scenario in my experience.
  • šŸ‘‰ Press the Specify Location button. 
    • Note: for Mac, go to the Contents directory within the .app file and find the  STS.ini  file, it could be  SpringToolSuite4.ini  too.
    • Conclusion: therefore for any OS, the goal is find the unique file with the  .ini  extension
    • Normally, I do this after IDE closed.

šŸ‘‰ Once done with the installation, Add following dependency to your project  pom.xml , restart your Spring Tool Suite 4 and after 5 mins all the Lombok packages will be available in your workspace to use Lombok annotations.


<dependencies>
         <dependency> 
                 <groupid>org.projectlombok</groupid> 
                 <artifactid>lombok</artifactid> 
                 <version>1.18.12</version> 
                 <scope>provided</scope> 
        </dependency> 
</dependencies>


Follow this https://projectlombok.org/setup/eclipse for more information to install Lombok in various Compilers, Build tools,  IDEs & Platforms.

Lombok Features

For example, by adding a couple of annotations, you can get rid of code clutters, such as getters and setters methods, constructors, hashcode, equals, and toString methods, and so on. 


val

Finally! Hassle-free final local variables.

var

Mutably! Hassle-free 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-nullfield, 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.

@Builder

... and Bob's your uncle: No-hassle fancy-pants APIs for object creation!

@SneakyThrows

To boldly throw checked exceptions where no one has thrown them before!

@Synchronized

synchronized done right: Don't expose your locks.

@With

Immutable 'setters' - methods that create a clone but with one changed field.

@Getter(lazy=true)

Laziness is a virtue!

@Log

Captain's Log, stardate 24435.7: "What was that line again.?

0 comments:

Post a comment

Contact

Get in touch with me


Adress/Street

Bangalore, India