spring Framework에서는 Event처리를 위해 ApplicationEvent 추상 클래스 정의하고 있다.
SpringSecurity에서는 인증관련된 event발생을 위해 ApplicationEvent추상 클래스를 상속
받는 class
실패 Event의 경우 추상class다. this is 인증 실패 원인에 따라 인증 실패Event class가 달라질 수 있다.
AbstractAuthenticationFailureEvent를 상속 받는 class 예제
SpringSecurity의 Event는 AuthenticationEventPublisher
클래스를 통해서 Event가 발생되게 된다.
결합도가 느슨하다 ==좋다
Module간의 결합도가 느슨하다면 어떤 module이 변경되었을 때 다른 moulde은 변경될 필요가 없다는 뜻이다.