본문 바로가기

✨ Back-end/etc23

@RestController와 @RequestMapping @PathVariable ( 경로변수 ) @RestController와 @Controller의 차이 @Controller 이렇게 하고 실행하면 Error resolving template [a], template might not exist or might not be accessible by any of the configured Template Resolvers 이런 오류가 뜬다. @RestController 하지만 @Controller 대신에 @RestController를 사용하게 되면, 위와 같이 페이지가 잘 나타난 것을 확인할 수 있다. @Controller 이 어노테이션을 사용한 클래스는 일반적으로 뷰 렌더링을 위해 사용되며, HTML을 포함한 다양한 타입의 응답을 생성할 수 있다. 주로 서버 사이드 렌더링을 위해 사용된다. @Res.. 2023. 8. 28.
로깅(Logging) 에 대해서, 왜 써야하는지? @Slf4j 어노테이션 로깅(Logging) 이란? 실행 동작을 일련의 기록인 로그(Log)의 생성을 통해 남겨놓는 일이다. 로그는 재현하기 힘든 버그나 성능에 대한 통계 등, 프로그램 동작에 있어서 유용한 정보를 제공하기 때문에 로깅 작업은 실제 서비스 개발에 필수적이다. 보통 데이터를 넘겨주고 받는 과정에서 컨트롤러에서 System.out.Println( ) 메서드를 이용해 컨트롤러에 데이터가 왔는지 체크를 하게 된다. 간편해서 이렇게 늘 사용해왔는데, 치명적인 단점이 존재한다. System.out.println( ) 메서드를 사용했을 때의 문제점 1. 성능 저하 System.out.println( ) 메서드는 내부적으로 newLien( ) 메서드를 호출하는데, 이는 sysnchronized 가 사용된다. sysnchron.. 2023. 8. 27.
[Spring] AOP 개념과 용어 8가지 AOP란? 관점지향 프로그래밍으로, 문제를 바라보는 관점을 기준으로 프로그래밍 하는 방법론 what when where 횡단관심사(cross-cutting-concerns) 흩어진 관심사를 Aspect로 모듈화하고 핵심적인 비즈니스 로직에서 분리해 재사용하는 것이 AOP다. 어떤 클래스의 어떤 메소드가 실행되기 전/ 후에 다른 기능을 수행할 수 있는 코드를 캡슐화 하는것이다 즉, 비 기능적 요구사항이 핵심 애플리케이션 코드에 나타나지 않도록 캡슐화하는 것. 목적 : 공통 기능 관련 로직(로깅, 트랜잭션 관리, 보안 등)의 분리, 핵심로직 구현 코드 AOP 용어 어드바이스 ( Advice ) 조인포인트 ( JoinPoint ) 포인트 컷 ( PointCut) 애스팩트 ( Aspect ) 인트로덕션 ( In.. 2023. 8. 25.