Member-only story
Common Code Smells in Spring Applications — How to Fix Them
Writing clean, maintainable Spring code isn’t just about annotations and configuration — it’s about structure, clarity, and avoiding hidden traps that slow down your team over time.
In this article, we’ll explore the most common code smells in Spring applications, explain why they’re a problem, and show you how to fix them — the right way.
🚫 1. Fat Controllers
🔍 What’s the smell?
Your controller has too much logic — business rules, validation, repository calls — all in one place.
@RestController
public class OrderController {
@PostMapping("/orders")
public String placeOrder(@RequestBody Order order) {
if (order.getAmount() <= 0) {
return "Invalid order";
}
orderRepository.save(order);
notificationService.notify(order);
return "Order placed";
}
}
❌ Why it’s bad:
- Hard to test
- Breaks Single Responsibility Principle
- Becomes a god class over time