Avoid field injection with `@Autowired`. It hides a class's dependencies, makes the object harder to instantiate in a unit test, allows dependencies to be reassigned, and can conceal an overly coupled design. Prefer constructor injection with final fields: ```java @Service @RequiredArgsConstructor public class OrderService { private final OrderRepository orders; private final PaymentClient payments; } ``` Spring will use the single constructor automatically; without Lombok, write that constru...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add HoangNguyen0403/agent-skills-standard --skill spring-boot-best-practices --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Spring Boot Best Practices?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-spring-boot-best-practices-f9180ac9)More formats (shields.io, HTML) on the badges page.
Avoid field injection with `@Autowired`. It hides a class's dependencies, makes the object harder to instantiate in a unit test, allows dependencies to be reassigned, and can conceal an overly coupled design.
Prefer constructor injection with final fields:
```java
@Service
@RequiredArgsConstructor
public class OrderService {
private final OrderRepository orders;
private final PaymentClient payments;
}
```
Spring will use the single constructor automatically; without Lombok, write that constructor explicitly. Constructor injection also makes circular dependencies fail visibly during startup instead of being deferred. Do not work around a cycle with `@Lazy`, a service locator, or `context.getBean()`; refactor responsibilities or introduce an event/interface boundary. Keep configuration similarly explicit with validated `@ConfigurationProperties` records rather than scattered `@Value` fields. Declare all injected dependencies as final, use DTO records at API boundaries, and keep exceptions handled explicitly rather than logging and swallowing them.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!