
0. 3계층 아키텍처 패턴:: 애플리케이션을 세 개의 주요 계층으로 분리하여, 각 계층이 특정 역할을 수행 - 관심사의 분리:: 단일 책임 원칙(Single Responsibility Principle) 적용에 효과적구성1. Presentation Layer 2. Business Logic Layer3. Data Access Layer0.1 Presentation Layer (프레젠테이션 계층):: 사용자 인터페이스와 상호작용하는 계층:: 사용자 요청을 처리하고, 결과를 사용자에게 반환- Spring에서 흐름 :: 클라이언트 요청 → DispatcherServlet → Controller → View → 응답구성- Controller, View, Model / DTO (Data Transfer Ob..
0. Bean 간의 관계 설정:: 두 Bean 간의 관계를 설정하여 다른 객체 책임을 위임 가능:: has-A 관계. Bean 간의 관계 설정:: 두 Bean 간의 관계를 설정하여 다른 객체 책임을 위임 가능 :: has-A 관계(포함 관계)0.1 Wiring:: 객체 간의 의존성을 명시적으로 설정:: 빈을 생성하는 메서드를 직접 노출하여 빈을 연결:: 생성자 주입 or 세터 주입 방식 Ex) 더보기// 의존하는 객체public class MyRepository { public void save() { System.out.println("Data saved!"); }} // 의존하는 객체를 사용하는 클래스public class MyService { private MyRepos..
0. Bean 등록0.1 자동 등록 방식:: Spring Container 내 싱글톤 객체로 이미 등록되어 있음(ApplicationContext가 이미 만듦):: @ComponentScan 을 이용하여 애너테이션이 붙은 클래스를 자동으로 스캔 및 등록 1. @ComponentScan + @Component 를 통한 등록 (Package 지정 가능) :: @ComponentScan을 통해 스캔할 패키지 지정 :: 해당 패키지 안에 @Component를 함유하는 클래스를 자동으로 Bean 등록 2. @Controller, @Service, @Repository 등을 통한 등록 :: @Component 에 특정 역할을 가진 Bean을 구분하기 위해 사용해당 애노테이션을 "스테리오 타입(ste..
0. 제어역전(IoC, Inversion of Control) :: 객체의 생성과 의존성 관리를 개발자가 아닌 spring container와 같은 외부 시스템이 하는 디자인 패턴IoC 구현 5가지 방법Template Pattern :: 추상 클래스 부분 구현Delegate :: 위임 (실행 결과를 받는것까지 모두 위임, 자기 자신을 보낸다)Event :: 이벤트 발행 (Publisher & Subscriber)Service Locator/Lookup :: Service Locator 에서 직접 가져와쓰기 개발자가 직접 Bean 주입하는것DI(Dependancy Injection) 의존성 주입 :: (IoC) Container 가 대신 Bean 수집, 관리, 주입해주는것1. ApplicationConte..

0. Spring MVC - Servlet:: Connection = 1 요청 : 1 스레드 :: 이때, Servlet 객체는 Singleton:: 즉, Servlet Container는 각 종류의 Servlet당 한개의 객체만 사용=> Front Controller인 DispatcherServlet은 싱글톤 객체임을 의Spring 은 Tomcat에서 한 종류의 Servlet(DispatcherServlet) 만을 사용Spring 에서 Controller 객체(Bean)는 Tomcat에서 Servlet객체와 동일하게 싱글톤으로 처리됨0.1 어떻게 수많은 요청들을 단 하나의 객체로 커버할 수 있나? :: 몇개이든지 N 개의 스레드는 단 하나의 싱글톤 객체만 구독(공유):: 각각의 스레드는 각자의 Metho..

0. Controller의 반환 값:: Spring에 위임되어 Controller에서 처리한 모든 응답은 Front Controller에게 반환 타입을 고려해 반환:: Front Controller(DispatcherServlet) 은 앞선 Controller 가 반환한 타입에 따라 View 생성1. 반환 값 분류 기준 :: HandlerAdapter의 응답으로 String 또는 ModelAndView 또는 Object 중 하나를 받음 :: @ResponseBody의 여부에 따라 X :: ViewResolver 혹은 O :: MessageConverter 실행 1.1 웹 페이지를 반환(HTML)controller의 반환 타입StringModelAndView 정적 페이지(ViewTemplate)..

0. 들어가기:: 과정에서 사용되는 Servlet 객체는 싱글톤 생성2025.02.07 - [정리용/SpringBoot] - [Spring] 2-2-2. Spring MVC - Servlet 객체 Front Controller인 DispatcherServlet은 싱글톤 객체임을 의Spring" data-og-host="hee-ya07.tistory.com" data-og-source-url="https://hee-ya07.tistory.com/86" data-og-url="https://hee-ya07.tistory.com/86" data-og-image="https://scrap.kakaocdn.net/dn/bx3oSm/hyYb9qANOc/BnZ3gMSxzAP7yUOkVwVzHk/img.png?widt..

1. HandlerMapping:: 클라이언트의 요청을 처리할 Controller를 결정하는 컴포넌트:: 어떤 REST API 요청을 받았을 때, 어떤 메서드로 처리할지 정의1.1 HandlerMapping 내 탐색 순서가장 먼저 RequestMappingHandlerMapping 로 매핑된 웹 페이지가 있는지 확인없다면 SimpleUrlHandlerMapping 통해 /resources/static 내 파일을 검색WelcomePageHandlerMapping 로(1) /resources/static 내 index.html 파일 검색(2) /resources/templates 내 index.html 파일 검색 (2)의 경우 == Template + Model의 경우, ViewResolver를 통해..

0. Spring MVC 패턴이란?:: 애플리케이션의 로직을 Model - View - Controller 3가지로 분리하는 디자인 패턴0.1 MVC의 구조→ 동적 페이지를 생성하는 WAS의 경우 2개의 템플릿 엔진 사용 :: 서버에서 사용하는 엔진 + 클라이언트에서 동적으로 합치는 엔진구성 요소설명Model- 애플리케이션의 데이터이자, 그것에 대한 비즈니스 로직 담당View- 사용자에게 보여지는 UI를 담당( Model + Template ):: 유저의 요청에 따른 Controller의 응답 반환:: 유저가 보는 것은 웹페이지 ← Controller가 반환 :: 유저가 하는 것은 JS 인터렉션 ← Controller를 호출- HTML, JSP, Thymeleaf 등의 템플릿 엔진을 통해 데이터를 ..

https://start.spring.io해당 웹 사이트를 통해 간단하게 설정 가능 0. 라이브러리 설정더보기0-1. 서버를 위한 설정:: Spring MVC 기반의 REST API or Web Page 반환을 위한 Tomcat 서버 :: REST API가 아닌 “비동기 API”를 위한 WebFlux:: Tomcat이 아닌 Netty 사용0-2. 코드 단축을 위한 어노테이:: 어노테이션 기반 코드 자동 생성기:: 불필요한 Java코드 작성 최소화 목적0-3. 웹페이지 서빙 목적:: 서버 사이드 템플릿 엔진:: Spring에서 웹페이지를 만들어 클라이언트에게 서빙 목적서버에서 직접 설정이 아닌 프론트 코드와 연결 사용 시, 필요 X0-4. DB 연결 위한 설정:: Spring에서 지원하는 간편 JPA:: ..
- Total
- Today
- Yesterday
- acac
- asac#asac7기
- useLayoutEffect
- useState
- useContext
- memo
- Nginx
- acas#acas7기
- git
- useReducer
- useRef
- asac7#asac
- ssh
- useMemo
- useEffect
- useCallback
- ASAC
- react
- asac7
- asac7기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |