java / intermediate
Snippet
Clean Constructor Dependency Injection
Constructor injection is the preferred way to handle dependencies in Spring. It ensures required dependencies are present and allows for 'final' fields.
snippet.java
1
2
3
4
5
6
7
8
@Servicepublic class UserService {private final UserRepository userRepository;public UserService(UserRepository userRepository) {this.userRepository = userRepository;}}
spring
Breakdown
1
private final UserRepository userRepository;
Final field ensures immutability and thread safety.
2
public UserService(UserRepository userRepository)
Spring automatically detects this constructor and injects the required bean.