framework 53

SpringContainer와 ApplicationContext

목표Contaienr와 Contex의 개념 확립알면 좋은 점Contaienr와 Context는 Servlet과 Spring에서 정말 자주 사용되는 용어로 둘의 차이점을 알아두면 학습 및 개발 이해도를 높일 수 있다.사전 지식Servlet Container와 Servlet Context : https://code-is-me.tistory.com/302 1. Spring ContainerServlet Container의 web.xml의 설정을 통해서 생성Spring Container는 WAS 내부에 존재하고 ServletContainer 위에(논리적으로) 존재하여 servletContainer와 협력적인 관계를 가짐Spring Container 는 BeanFactory혹은 ApplicationContext..

framework/spring 2024.08.17

Servlet Container와 Servlet Context

목표Contaienr와 Contex의 개념 확립알면 좋은 점Contaienr와 Context는 Servlet과 Spring에서 정말 자주 사용되는 용어로 둘의 차이점을 알아두면 학습 및 개발 이해도를 높일 수 있다.사전 지식Container와 Context는 큰 결은 비슷하지만 Servlet과 Spring에서 세부적인 역할의 차이가 있다.큰 의미를 파악 후 각 역할별 차이점을 파악하는 방향으로 접근이 필요컨테이너 종류 : web Container, Servlet Container, Spring Container 등Web Container 와 Servlet ContainerWeb Container가 Servlet Container를 포함하는 더 큰 범주Servlet Container: Servlet의 생명..

framework/spring 2024.08.16

EJB와 Spring

목표EJB가 무엇인지EJB의 어떤 불편한 점으로 인해 Spring으로 이동하게되었는지알면 좋은 점Spring이 EJB의 어떤 문제점을 해소하기 위해 탄생하게 되었는지 알아야 스프링의 핵심을 파악할 수 있다.사전에 알아야 하는 용어JavaEE(java platform Enterprise Edition)자바를 이용한 서버측 개발을 위한 플랫폼표준 플랫폼인 Java SE를 사용하는 서버를 위한 플랫폼엔터프라이즈 환경을 위한 도구로 EJB, JSP, Servlet, JNDI,JDBC, JMS, JavaMail API, JTA 같은 기능을 지원WAS를 이용하는 프로그램 개발 시 사용J2EE라고도 함JavaSE(Standard Edition)가장 보편적으로 쓰이는 자바 API집합체코딩테스트 할 때, 'hello, ..

framework/spring 2024.08.16

⭐️ 스프링 MVC 5 - 기본 기능

1. 로깅 알아보기 실무에선 System.out.println() 사용하지 않고 로깅 라이브러리 사용해서 log 출력 println을 사용하지 않는 이유 log가 더 자세한 정보를 넘긴다. log는 level 설정이 가능해서 log를 선별해서 받을 수 있다. 반면 println은 선별해서 값을 받을 수 없어서 운영시스템이 더러워진다. 로깅 라이브러리 스프링 부트 라이브러리 사용시, 스프링 부트 로깅 라이브러리가 포함 인터페이스 : SLF4J 제공 구현체 : Logback, Log4J, Log4J2 등등 존재 -> spring boot는 Logback 주로 사용 log 장점 application.properties를 이용해서 관리할 수 있어서 로그 레벨에 따라 개별 서버에서 상황에 맞는 log 범위 설정..

framework/spring 2023.11.09

스프링 MVC 4 - 스프링 MVC 구조 이해

0. 스프링 MVC 전체 구조 0.1. 큰 구조 Tocat Request, Response Servlet Container Spring Conatiner ServletContext AnnotaionApplicationContext 0.2. Spring MVC 구조 직접 만든 프레임워크 스프링 MVC 비교 FrontController -> DispatcherServlet handlerMappingMap -> HandlerMapping MyHandlerAdapter -> HandlerAdapter ModelView -> ModelAndView viewResolver -> ViewResolver MyView -> View 1. dispatcherServlet 1.1. dispatcher 개요 tip : int..

framework/spring 2023.11.05

⭐️ 스프링 MVC 3 - MVC 프레임워크 만들기

0. summary FrontController 도입(v1) : @WebServlet 어노테이션 중복 해결 View 분리 (v2) : viewPath, render 역할 분리 - Myview가 수행 Model 추가 (v3): controller에 httpServlet 안보내려는 노력 controller modelview에 보낼 정보(model) render할 논리 path명(view)만 전달 FrontController req 정보 map으로 변환해서 paramMap이란 매개변수 controller로 전달 controller로 줌 논리명 → 물리명 변경 myview model.map 정보 request에 담기 render 수행 실용적인 컨트롤러 (v4) ModelView 사용안함 - 나머진 v3와 동일 ..

framework/spring 2023.11.05

스프링 MVC 2 - 서블릿, jsp, MVC 패턴

1. domain, repository 도메인, 리포지토리 생성 repository로 바로 service역할까지 수행 package hello.servlet,domain.member; // 회원 도메인 모델 = entity model @Getter @Setter public class Member { private Long id; //repository에서 id 자동으로 줌 // 생성자 주입으로 받음 private String username; pirvate int age; public Member(){}; public Member(String username, int age){ this.username = username; this.age = age; } } public Member findAll(){..

framework/spring 2023.11.04

스프링 MVC 1 - 서블릿

프로젝트 생성 tip Dependencies: Spring web, Lombok War 외장 톰컷 서버 별도 설치 및 jsp 사용시 선택 Gradle : Gradle -> IntelliJ IDEA Lombok plugin -> lombok 설치 -> 재시작 Annotation Processors -> Enable annotation processing 체크 후 재시작 1. 서블릿 기본 사용법 레거시 : tomcat(=sevlet was) 직접 설치 -> 서블릿 코드를 class file로 빌드 스프링부트: 톰캣 서버 내장(embedded) -> 서블릿 코드만 실행 서블릿은 스프링관 관련이 없다. 스프링은 서블릿을 더 편하게 사용할 수 있도록 스프링 web mvc를 가지고 있을 뿐이다. 1.1. @Serv..

framework/spring 2023.11.04

MVC 패턴 및 패키지 구조

1. spring project도 아닌데 왜 mvc 패턴을 고려? 자동차 경주 게임을 구현할 때까지만 해도 크게 중요성을 느끼지 못하고 있었다. 내가 만든 분류 안에서 코드가 다 동작했으니...하지만 TDD를 수행할 때 문제점을 깨달았다. 내가 분류한 조건들이 단일체계원칙을 실질적으로 지키고 있지 않았기 때문에 TDD를 수행할 수가 없었다. 출력과 기능이 섞여서 method는 대부분 void로 반환 값이 존재하지 않았고 TDD로 검증도 불가... 향후 리팩토링을 할 경우에도 TDD가 안되니 수정 코드가 올바르게 작동한다는 보장이 없다... 해당 문제점을 인지하고 어떤 방식으로 패키지를 분류해야할지 고민하고 찾아보던 중 mvc 패턴을 사용한다는 힌트를 얻었다. 꼭 Spring이 아니더라도 해당 구조로 분류..

framework/spring 2023.10.31

⭐️ 3. Web & WAS 경로

1. web server, web app server 웹 http 기반으로 작동 = http protocol의 규칙을 따라서 요청과 응답이 오고 간다. http 메시지 거의 모든 형태의 데어터 전송 가능 ex) HTML, TEXT, IMAGE, 음성, 영상, 파일, JSON, XML (API) 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 2. 용어 2.1. 웹 서버(WEB) HTTP 기반으로 동작 정적 리소스 제공, 기타 부가기능 webServer가 가지고 있는 html,css.js.img,avi 를 client가 요청시, http로 응답해주는 것 ex) NGINX, APACHE 2.2. 웹 애플리케이션 서버(WAS) HTTP 기반으로 동작 웹 서버 기능 포함 + (정적 리소스 제공 가능) 프..

framework/spring 2023.10.30