본문 바로가기

Back-End23

Spring Context Root 경로 (Resources 경로) 이미지 경로를 분명히 맞게 설정했는데 로드가 되지 않는 오류가 있었다. http://localhost:8181/HealthShareSecurity/resources/images/.... 와 같이 설정했었는데 이게 아무리 해도 읽어지지가 않는 것이었다. 그래서 몇 시간의 구글링을 통해 단서를 하나 찾았는데.... Context Root 경로 src\main\webapp. 브라우저에서 접근가능. 브라우저에서 접근이 가능하기때문에 css파일 이나, jquery, img 파일들이 위치해있음. 출처 : datajoy.tistory.com/185 Context Root의 기본 경로가 src\main\webapp 인줄은 몰랐다... 그래서 괜히 엉뚱한 src\main\resources에 이미지 파일을 넣고 한참을 고.. 2021. 3. 21.
Spring AOP 용어 정리 조인포인트(Joinpoint) : 클라이언트가 호출하는 모든 비즈니스 메소드, 조인포인트 중에서 포인트컷되기 때문에 포인트컷의 후보로 생각할 수 있다. 포인트컷(Pointcut) : 특정 조건에 의해 필터링된 조인포인트, 수많은 조인포인트 중에 특정 메소드에서만 횡단 공통기능을 수행시키기 위해서 사용한다. 표현식 : 리턴타입 패키지경로 클래스명 메소드명(매개변수) 어드바이스(Advice) : 횡단 관심에 해당하는 공통 기능의 코드, 독립된 클래스의 메소드로 작성한다. 어드바이스의 동작 시점동작시점설명 Before 메소드 실행 전에 동작 After 메소드 실행 후에 동작 After-returning 메소드가 정상적으로 실행된 후에 동작 After-throwing 예외가 발생한 후에 동작 Around 메소드.. 2021. 3. 21.
Spring AOP : @Before와 Request로 ServletPath Logging 어제 수많은 구글링과 시도 끝에 @Before로 ServletPath를 Logging 하는 데 성공했다. AOP를 위해 작성한 Class LogAdvice의 코드는 다음과 같다 @Aspect @Component @Slf4j public class LogAdvice { @Autowired UserService service; @Before("execution (* com.cafe24.healthshare.controller.*Controller.*(..))") public void doLogging() throws Throwable{ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttri.. 2021. 3. 21.
Spring AOP : pointcut is malformed 지금까지는 @Controller에서 각 메서드에 log를 남겼었다. 어느 순간 살펴보니 @Controller의 코드가 너무 지저분해서 AOP를 사용해서 Log를 남겨주려고 한다. AOP가 사실 어려운 건 아닌 것 같은데 잘 배우지 못해서 설정에 어려움이 있는 것 같다. 가장 먼저 마주친 문제는 Pointcut is malformed Error. malformed라는 단어도 고등학교 이후로 처음 본 것 같다. @Aspect @Component @Slf4j public class LogAdvice { @Before("execution(* com.cafe24.healthshare.service.UserService*.*(..))") public void test1(HttpRequest request) { lo.. 2021. 3. 20.