목록BE (354)
오봉이와 함께하는 개발 블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/d3I9qI/btrp0Z3BiMY/9zu1DLKdo5gVjSkF8N4zlk/img.png)
환경 Mac OS Big Sur 11.6.1 x86 아키텍쳐 IntelliJ Ultimate openjdk 11 사용 방법 https://mazdah.tistory.com/880 님의 글 참조 Maven 프로젝트 생성 프로젝트 우클릭 후 Add FrameWork Support 에서 springMVC 추가 다음과 같이 경로 변경 servlet-context.xml root-context.xml web.xml contextConfigLocation /WEB-INF/spring/root-context.xml org.springframework.web.context.ContextLoaderListener appServlet org.springframework.web.servlet.DispatcherServlet..
컨트롤러와 요청 처리 View의 요청 경로(Path) 설정 Controller에서 @RequestMapping("접속할 URL") public String index(Model model) { return "jsp 파일 이름"; } 스프링 컨트롤러 스프링 컨트롤러는 빈으로 등록되어야 한다. 비즈니스 로직이 실행되기 위해 비즈니스 객체를 의존성 주입(DI) 해야 함 클래스 생성하고 @Controller 어노테이션 붙임 @RequestMapping 어노테이션을 사용하여 url 맵핑 요청 처리 메소드 구현 뷰 페이지 이름 반환 : jsp 파일명 간단한 Controller 예제 - HelloController.java @Controller public class HelloController { // @Reque..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dDCsoW/btrpU1BwpGA/HxDCisoJrJpBOtrNkuY2Z0/img.png)
서버 구현 패턴 모델2 방식 (MVC 패턴) FrontController 패턴 모든 클라이언트 요청을 한 곳에서 처리하도록 하나의 대표 컨트롤러 사용 별도의 클래스를 추가하지 않고 FrontController가 다 처리 (FrontController 내용이 길고 복잡해짐) 클라이언트의 요청을 한 곳으로 집중시켜서 효율적으로 개발 및 유지보수 가능 Command 패턴 FrontController가 모든 클라이언트 요청을 직접 처리하지 않고 해당 클래스가 처리 FrontController가 수행하던 작업을 각 클래스로 분산 처리 각 클래스는 통일된 형식(규격)으로 처리하도록 interface로 구현 Spring MVC 구조 클라이언트 요청 -> 컨트롤러 -> 서비스 -> DAO -> Mapper에서 처리 M..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bvnYd1/btrpU1mwK61/iJB9smcZmHXz2FUXM3xrs0/img.png)
AOP(Aspect Oriented Programming) 관점 지향 프로그래밍 문제를 바라보는 관점을 기준으로 프로그래밍 하는 기법 문제를 해결하기 위한 ‘핵심 관심 사항’과 전체에 적용되는 ‘공통 관심 사항’을 기준으로 프로그래밍 공통 모듈을 여러 코드에 쉽게 적용 가능 AOP에서 가장 중요한 개념 ‘횡단 관점의 분리’ Separation of Cross-Cutting Concern AOP와 횡단 관점 공통 기능 로그 처리 보안 처리 트랜잭션 처리 공통 기능을 핵심 기능(비즈니스 로직)에서 분리 스프링에서 AOP 구현 방법 (Proxy 사용) AOP 용어 Aspect 공통 기능(공통 코드) Advice Aspect의 주요 내용(공통 기능 안의 세부적인 내용들) 횡단 관심 모듈 자체(What) 핵심 코..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Nw4LK/btrpP3FyP4w/tgE63veP4w2JhpkYBI1p1k/img.png)
스프링 Singleton 스프링 컨테이너는 빈을 생성할 때 싱글톤 패턴을 적용하지 않아도 항상 클래스당 1개의 인스턴스만 생성(디폴트) singleton 속성 변경 가능 태그의 scope 속성을 이용하여 빈이 싱글톤으로 생성되게 할지 아니면 요청할 때 마다 생성되게 할지 설정 가능 singleton : 컨테이너에 한 개의 인스턴스만 생성 (기본값) prototype : 빈을 요청할 때마다 인스턴스 생성 thread : 쓰레드별로 생성 request / session / application 스코프 있음 Annotation을 이용한 DI xml 설정 파일에서 태그를 이용해서 설정하였던 빈 설정을 Annotation(메타데이터)을 이용해서 자바 코드에서 설정 예: xml 설정 파일에서 을 설정하지 않고 스프..