[Java/스프링 입문] AOP - AOP가 필요한 상황, 적용(공통 관심 사항, 핵심 관심 사항, @Aspect, @Around, joinPoint.proceed, @Bean, 프록시)
들어가며🎯 AOP: Aspect-oriented programming, 관점 지향 프로그래밍- Aspect: 흩어진 기능을 모을 때 사용하는 것- Concern: 서로 다른 클래스라고 하더라도 비슷한 기능을 하는 부분각 Concern 별로 Aspect를 만들어주고, 어느 클래스에서 사용하는지 입력해 주는 방식입니다. 우측 그림이 Aspect로 모듈화 한 것을 보여주는 것입니다. 각 모듈에는 Advice와 Pointcut이 있습니다.- Advice: 해야할 일, 기능- Pointcut: 어디에 적용해야 하는지 나타내는 것 (ex: 클래스 A의 w 메서드)- Target: 각 클래스, 즉 적용이 되는 대상 (ex: 클래스 A, B, C) 1. AOP가 필요한 상황1) 언제 왜 쓰는지?모든 메소드의 호출 시..
[Java/스프링 입문] 회원 관리 예제 - 웹 MVC 개발, 홈 화면 추가/등록/조회(@Controller, @GetMapping, @PostMapping)
들어가며👨🔧 회원 웹 기능: 홈 화면 추가, 등록, 조회(@Controller, @GetMapping, @PostMapping)1. 홈 화면 추가ℹ️ 정적 콘텐츠 동작원리1. 웹 브라우저: localhost:8080 요청이 옵니다.2. 내장 톰캣 서버: 스프링 컨테이너에 관련 컨트롤러가 있는지 확인합니다. (@Controller)3. 내장 톰캣 서버: 관련 컨트롤러가 없다면, 정적 콘텐츠 파일을 찾습니다. (static 폴더 내 파일, index.html)4. 웹 브라우저: static에 있는 index.html을 렌더링합니다. 1) @Controller, home.html// HomeController.javapackage hello.hello_spring.controller;import org...