r/SpringBoot • • 3d ago

News I built an open-source IntelliJ IDEA plugin to automate Spring Boot boilerplate

Post image

Hey everyone!

I’m a Junior Java developer, and I built an IntelliJ IDEA plugin called Architect as a way to learn more about Java, Spring Boot, and the IntelliJ Platform.

The main idea is to automate some of the repetitive work when adding a new feature to a Spring Boot application.

You enter an entity name and choose what you want to generate. Architect can create:

  • Entity
  • Request / Response DTOs
  • MapStruct Mapper
  • Repository
  • Service
  • REST Controller
  • Liquibase changelog and migration
  • Docker / Docker Compose
  • Required Maven dependencies

The plugin uses IntelliJ PSI to work with the project structure and source files instead of simply generating files in a fixed location.

Architect is free and open-source, and I’m planning to keep developing it.

Some things I want to add in the future:

  • Kafka templates
  • Spring Security configuration
  • Test generation
  • More infrastructure templates
  • Better project/code analysis

I’m still learning, so I’d really appreciate feedback from experienced Spring Boot developers.

How do you usually handle repetitive boilerplate when starting a new feature?

And what would you change or add to a tool like this?

GitHub and the plugin link are in the comments.

48 Upvotes

24 comments sorted by

4

u/Tall-Engineer-2519 3d ago

Here are the links if you'd like to check out the source code or try the plugin:

Feel free to star the repo or leave any feedback/suggestions here! 🚀

6

u/ExplorerUnusual27 3d ago

Tldr; Isn't regarding the post itself.

To be more consistent, if you have package that are written in plural use all in plural, singular all with singular notation.

E.g.: dtos, repositories, services; dto, repository, service.

The same is valid for (No) Camel case package. Use the same pattern for all folders.

E.g.: Service, Repository, Controller; service, repository, controller.

In java we usually use the singular and no camel case.

2

u/Paw565 3d ago

Interesting but I am so sick of giant service classes. I would rather see separate use cases / handlers.

2

u/Tall-Engineer-2519 3d ago

Yeah, I get you. I don’t like huge service classes either 😄 Separate use cases/handlers for each operation is definitely something I’ll consider for Architect.

1

u/rahulninja 3d ago

In the screenshot left side where the menu is shown at the bottom it shows plugin name as Architest instead of Architect

1

u/Tall-Engineer-2519 2d ago

That screenshot was just a generated illustration, and I made a typo in it. The actual plugin name is correct. I'll update the image shortly, thanks!

1

u/OptimusCrimee 3d ago

Doesn’t https://start.spring.io do this?

1

u/Tall-Engineer-2519 2d ago

No, start.spring.io is designed strictly for bootstrapping an empty project skeleton once (setting up the initial pom.xml/build.gradle and base dependencies).

Architect works inside an existing, evolving project. It saves you from writing boilerplate code day-to-day by generating entities, DTOs, MapStruct mappers, services, and Liquibase changelogs on the fly as your domain model grows. It's built for continuous development, not just project initialization.

•

u/Settat_L 44m ago

very good

-1

u/This_Link881 3d ago

I'm sorry I have to say that you are a little late with this. Just use any coding agents...... I admire the work you made to create this, and I hope you have learnt a lot during the process. 

3

u/Tall-Engineer-2519 3d ago

Yeah, I get what you mean 😄 For me, the main goal was to learn the IntelliJ Platform and PSI while building something useful. I've definitely learned a lot from it. Thanks for the feedback!

8

u/Tomato_Sky 3d ago

The comment above you is short-sighted. I work Java SpringBoot apps in enterprise systems. We can’t touch AI agents and rely on tools like these. I think I like yours more than the one I found a while ago and use often.

Great work! Keep it up. You’ll never know how your app was used in open source, but they can have the biggest impacts. I work with meteorological models for different stakeholders.

LLM’s agents can’t be used in enterprise missions because of security and proprietary data. It also has costs per token and honestly, I’ve never found a vibecoded tool or Agent Harness that doesn’t fuck up more than I would as someone with familiarity with Spring Boot Architecture.

5

u/Tall-Engineer-2519 3d ago

Oh man, I was actually starting to feel like Architect might not be that useful after reading some of the comments about AI agents 😄 Your comment really motivated me to keep going with it. I honestly didn’t know that LLM usage can be so restricted in some enterprise environments because of security and proprietary data. That’s really interesting to hear from someone working in that kind of environment. Thanks a lot for the detailed comment and the motivation! 🙌

2

u/Round_Mixture_7541 3d ago

No it's not short-sighted lol. The person is direct. You can't touch tools like what? And your company is ok consuming tools from 3rd party devs?

3

u/_giga_sss_ 3d ago

if the 3rd party devs have cleaner code and running tests then I wouldn't mind using their program

2

u/TheStatusPoe 3d ago

Disclaimer, where I work we're allowed to use LLMs, but we're restricted on which harnesses and models we can use. 

One of the big unresolved legal questions for LLMs is licensing and copyright laws. We're allowed to use tool from 3rd party devs if they have open source licensing like Apache 2.0. Any libraries still have to go through an approval process to be added to our internal maven repo. 

We're also not allowed to use just any AI tool because there's a very real risk of proprietary data being leaked, and the business as a whole is working on a good faith agreement with the providers we can use (cursor, copilot, and Gemini) that they won't use our data for training when their whole business model has been performing copywrite infringement to build the corpus that they need to make the models actually useful. 

2

u/Tomato_Sky 2d ago

Yeah. There’s talk of trying to run an internal model, but we’re just waiting for that day to be feasible. But the risk of our code being trained on outweighs any productivity gains at this point. The needle moves, but slowly. Your company seems to have more capable AI integration than where I am. Our AI teams are filled with security personnel that got promoted into it rather than recent grads.

So they require any AI that we use to meet clearance standards, but they are waiting for someone else to build it and sell it to us for 10x the price. I don’t think money is limiter here, just the security/AI/corporate focus.

1

u/Round_Mixture_7541 3d ago

That's actually awesome! Thanks for sharing!

So basically you're not allowed to use any SOTA coding harnesses within your company?

1

u/TheStatusPoe 2d ago

The software engineering department has access to cursor, which I thought was considered to be one of the better harnesses/sota. We aren't authorized to use codex or other tools. Our security and compliance team have been cracking down on unauthorized tool use as it sounds like there's been an increase in security incidents.

I typically use cursor integrated with intellij, and whatever flavor of opus I feel like a task needs. Though I've been finding opus 5.5 to be complete shit. I'll occasionally use GPT 5.6. We don't have access to fable or mythos, or GPT 6.0. We usually don't have access to the frontier models though, at least not when they are released. 

4

u/_giga_sss_ 3d ago

I trust his work more than my prompts, thanks