이제 새로 aop수업을 듣는데, 어제 시도했던 복원이 드디어 끝났다. 그 와중에 내가 실수로 넘어갔던 것도 복습할수 있었는데,
entity에 일일이 constructor 추가 안하는 법
build.gradle.kts에 plugins안에 {
kotlin("plugin.jpa") version "1.4.10"
kotlin("plugin.allopen") version "1.4.10"
kotlin("plugin.noarg") version "1.8.22"
}
그 바깥에 kotlin {
noArg {
annotation("jakarta.persistence.Entity")
annotation("jakarta.persistence.MappedSuperclass")
annotation("jakarta.persistence.Embeddable")
}
allOpen {
annotation("jakarta.persistence.Entity")
annotation("jakarta.persistence.MappedSuperclass")
annotation("jakarta.persistence.Embeddable")
}
}
추가하기
추가하면 이제 일일히 생성자를 안만들어도 되는것이다.
aop의 주요개념
- Aspect
- 횡단 관심사(부가기능)를 모듈화한 단위입니다. Aspect는 부가기능을 정의하는 Advice와 적용 위치를 결정하는 PointCut으로 구성됩니다.
- PointCut
- Aspect가 적용될 프로그램상 실제 위치 입니다.
- JoinPoint
- PointCut의 후보군 입니다. Aspect가 적용될 수 있는 위치들을 말합니다. method가 호출되는 시점, 특정 class의 생성자가 호출되는 시점, exception이 발생하는 시점 등이 될 수 있겠죠?
- Advice
- 실질적으로 부가 기능 로직이 정의되어있는 객체라고 볼 수있습니다.
- Weaving
- Aspect를 실제 코드에 적용하는 과정을 나타냅니다.
그런데, 새로운 과제가 예전에 쓴 todolist에 인증, 인가를 구현하는거라고 한다. 그런데 나는 이미 이전에 과제수행에 실패했다보니 망햇구나 싶었다.
그래서 다시 해보니 이상하게 계속 오류가 걸리길래 처음 부터 다시 만들어보기로 했다!!! 사서 고생이구나!! 수업도 들어야 하는데!!! 어쩌면 이게 조별과제보다 빡샐거같다는 느낌이 들기 시작했다.