@Autowired
객체를 주입하기 위해 사용하는 스프링의 애너테이션이다.
@RequiredArgsConstructor
롬복이 제공하는 애너테이션으로 final이 붙은 속성을 포함하는 생성자를 자동으로 생성하는 역할을 한다.
@Service
애너테이션이 붙은 클래스는 서비스로 간주한다
@PreAuthorize("isAuthenticated()")
애너테이션이 적용된 메서드가 로그아웃 상태에서 호출되면 로그인 페이지로 이동된다.
@EnableMethodSecurity
애너테이션의 prePostEnabled = true 설정은 QuestionController와 AnswerController에서 로그인 여부를 판별하기 위해 사용했던 @PreAuthorize 애너테이션을 사용하기 위해 반드시 필요하다.