# 목적
1. @Autowired
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
}
2. @RequiredArgsConstructor
@Service
@RequiredArgsConstructor
public class UserService {
private final UserMapper userMapper;
}
- 위처럼 정의 시, RequiredArgsConstructor가 final로 정의된 멤버변수를 아래처럼 생성자로 만들어줌
- final은 반드시 값이 들어있어야 하는데, 직접적인 변경이 불가함
변경하기 위해서는 생성자 메서드를 통해 딱 한 번 변경 가능
@Service
public class UserService {
private final UserMapper userMapper;
public UserService(UserMapper userMapper) {
this.userMapper = userMapper;
}
}