본문 바로가기

4. Backend Development/1. Spring Framework8

8. Spring WEB MVC 1. 스프링 MVC 동작 원리 ㅇ 스프링 MVC로 웹 애플리케이션 개발하기 M: 모델 V: 뷰 C: 컨트롤러 모델: 평범한 자바 객체 POJO (POJO와 Bean의 차이점 : sanghye.tistory.com/13) 뷰: HTML. JSP, 타임리프 , ... 컨트롤러: 스프링 @MVC 모델: 도메인 객체 또는 DTO로 화면에 전달할 또는 화면에서 전달 받은 데이터를 담고 있는 객체. 뷰: 데이터를 보여주는 역할. 다양한 형태로 보여줄 수 있다. HTML, JSON, XML, ... 컨트롤러: 사용자 입력을 받아 모델 객체의 데이터를 변경하거나, 모델 객체를 뷰에 전달하는 역할. 입력값 검증 - 입력 받은 데이터로 모델 객체 변경 - 변경된 모델 객체를 뷰에 전달 MVC 패턴의 장점 ● 동시 다발적(.. 2020. 9. 28.
7. Spring boot 1. Spring Boot란? 스프링 기반 어플리케이션을 빠르고 쉽게 만들 수 있으며 컨벤션 설정을 제공하여 스프링이 자동으로 설정되도록 한다. 더불어 써드파티 라이브러리를 설정을 제공하여 다양한 기능을 사용할 수 있다. (톰캣 라이브러리를 이용한 내장톰캣 이용 등) 2. Spring Boot 실행 환경 : JDK 8 버전 이상, Servlet 3.1 버전 이상의 환경에서 사용 가능하다. 3. Spring Boot 자동 설정 - @SpringBootConfiguration 애노테이션 내부에 @EnableAutoConfiguration 애노테이션 존재 - Bean은 두 단계로 나누어 읽힌다. - 1단계 : @ComponentScan (@Component, @Repository, @Service ... 애노.. 2020. 9. 24.
6. DispatcherServlet DispatcherServlet 초기화 ● 다음의 특별한 타입의 빈들을 찾거나, 기본 전략에 해당하는 빈들을 등록한다. ● HandlerMapping: 핸들러를 찾아주는 인터페이스 ● HandlerAdapter: 핸들러를 실행하는 인터페이스 ● HandlerExceptionResolver ● ViewResolver ● ... DispatcherServlet 동작 순서 1. 요청을 분석한다. (로케일, 테마, 멀티파트 등) 2. (핸들러 맵핑에게 위임하여) 요청을 처리할 핸들러를 찾는다. 3. (등록되어 있는 핸들러 어댑터 중에) 해당 핸들러를 실행할 수 있는 “핸들러 어댑터”를 찾는다. 4. 찾아낸 “핸들러 어댑터”를 사용해서 핸들러의 응답을 처리한다. ● 핸들러의 리턴값을 보고 어떻게 처리할지 판단한다.. 2020. 9. 1.
5. Servlet 1. 서블릿 (Servlet) ● 자바 엔터프라이즈 에디션은 웹 애플리케이션 개발용 스팩과 API 제공. ● 요청 당 쓰레드 (만들거나, 풀에서 가져다가 ) 사용 (프로세스가 떠서 쓰레드로 처리함) ● 그 중에 가장 중요한 클래스중 하나가 HttpServlet. 2. 서블릿 등장 이전에 사용하던 기술인 CGI (Common Gateway Interface) ● 요청 당 프로세스를 만들어 사용 3. 서블릿의 장점 (CGI에 비해) ● 빠르다. ● 플랫폼 독립적 ● 보안 ● 이식성 4. 서블릿 엔진 또는 서블릿 컨테이너 (톰캣, 제티, 언더토, ...) ● 세션 관리 ● 네트워크 서비스 ● MIME 기반 메시지 인코딩 디코딩 ● 서블릿 생명주기 관리 5. 서블릿 생명주기 ● 서블릿 컨테이너가 서블릿 인스턴스.. 2020. 9. 1.
4. MacOS Security Management System 1. Backend (Springboot, MariaDB, Docker) github.com/h232ch/setsecurity h232ch/setsecurity Contribute to h232ch/setsecurity development by creating an account on GitHub. github.com 2. Mac Security Setting script github.com/h232ch/macsecurity h232ch/macsecurity Contribute to h232ch/macsecurity development by creating an account on GitHub. github.com 3. 동작방식 - MacOS Security Script Crontab 적용 - Mac.. 2020. 7. 21.
3. Spring Framework 기반 웹 프로젝트 1. 프로젝트명 - eatgo 2. 기능 - 공통기능 : 회원가입, 로그인, 세션관리(JWT) - 주인 서비스 : 예약관리, 메뉴관리, 가게관리 - 고객 서비스 : 가게, 메뉴 찾기, 예약, 예약확인 3. 사용기술 - 백엔드 : SpringBoot, JPA, MySQL, Junit4 - 프론트 : NPM, Vue.js 4. 사용법 5. 소스링크 : github.com/h232ch/eatgo h232ch/eatgo Contribute to h232ch/eatgo development by creating an account on GitHub. github.com 2020. 6. 9.
2. Spring IoC Container 1. IoC 컨테이너와 빈 - IoC(Inversion of Control) : DI(Dependency Injection)이라고도 하며, 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하지 ㅋ않고 주입받아 사용하는 방법을 말함 - Spring IoC 컨테이너 : Beanfactory, ApplicationContext (Beanfactory 인터페이스를 Implements 함) : 어플리케이션 컴포넌트의 중앙 저장소이면서 빈 설정 소스로 부터 빈 정의를 읽고 빈을 구성하여 제공 빈의 역할 Spring IoC 컨테이너가 관리하는 객체 장점 의존성 관리 의존하는 관계의 객체간의 인스턴스 생성을 컨트롤함으로 의존성을 효율적으로 관리 테스트 용이 Mock과 같은 가짜 객체를 만들어 Return 값 조작 가.. 2020. 4. 30.
1. Spring IoC (Inversion of Control) 1. IoC (Inversion of Control) : 제어의 역전 - IoC는 코드의 의존성을 외부에서 관리하여 복잡성과 오류를 줄이며 테스트를 용이하게 함 - IoC를 설명하기 위해 아래의 예제 코드를 사용(Book, BookService, BookRepository, BookStatus) // Book.class package org.springframework.samples.petclinic.book; import java.util.Date; public class Book { private Date created; private BookStatus bookStatus; public Date getCreated() { return created; } public void setCreated(Da.. 2020. 4. 29.