분류 전체보기 439

AOP

X정리X 제어해주는거라서 핸들러에 만들어야 할 것 같지만 config에 만들자. AOP는 관점지향 프로그래밍 내가 슈퍼에 갈 수도있고 회사에 갈 수도 있는데 옷을 입는 메서드를 만들 것이다. 항상 슈퍼, 회사에 가는 젤 첫 로직에 옷 입기가 필요하다. 메서드를 따로 분리해서 재사용하면 되겠네? 동일하게 동작(동일한 코드)하는 로직이라면 그냥 메서드에 추가하면 된다. AOP를 사용하면 AController의 모든 메서드들은 .. 접근 지정자가 public인 메서드들은 .. 하면서 설정이 가능ㅎㅏ다. 이는 리플렉션 기능으로 가능한것. 반복로직을 들고있어서 번거롭게 적어주지 않아도 되지만 얘만 가지고 AOP라고 하지 않는다. 이는 핵심로직에 집중하게 해준다는 첫번째 AOP의 특징이다. A컨트롤러의 모든 메서드..

Spring/Tistory 2022.06.21

Mockito 환경에서 JavaMailSender 테스트 방법

UserService 단위 테스트 임시 패스워드 발급 테스트 진행 중 이메일이 실제로 전송이 되는지 테스트를 해야하는데 실제 객체는 Mock로 띄울 수 없기 때문에 @Spy로 UtilEmail을 실제로 띄웠다. // 실제 UserService 본코드 @Transactional public User 임시패스워드발급(PasswordResetReqDto passwordResetReqDto) { ... 생략 // 3. 임시 비밀번호 이메일로 전송 (받는 사람, 제목, 내용) utilEmail.sendEmail(userEntity.getEmail(), "임시 비밀번호 발급", "임시 비밀번호 : " + tempPw); } utilEmail.sendEmail( )을 테스트해볼건데 생성자로 JavaMailSender..

MemberController 단 한번만 메모리에 로딩시키기

싱글톤으로 띄우면 끝 Method[] methods = memberController.getClass().getDeclaredMethods(); for(Method method : methods) { UtilsLog.getInstance().info(TAG, method.toString()); } 런타임시에 실행되는 이 코드. 멤버컨트롤러에 어떤 메서드가 있는지 확인 메서드의 파라미터까지 확인 가능 Method[] methods = memberController.getClass().getDeclaredMethods(); for(Method method : methods) { UtilsLog.getInstance().info(TAG, method.getName()); } Method[] methods = ..

카테고리 없음 2022.06.20