본문 바로가기

Spring Boot9

스프링 MVC 동작 원리 스프링 MVC 소개 Model 평범한 자바 객체 POJO 도메인 객체 또는 DTO로 화면에 전달하거나 화면으로부터 전달받은 받은 데이터를 담은 객체 View HTML, JSP, 타임리프 데이터를 보여주는역할, 다양한 형태가 가능하다 HTML, JSON, XML,... Controller 스프링 @MVC 사용자 입력을 받아 모델 객체의 데이터를 변경하거나, 모델 객체를 뷰에 전달하는 역할 입력값 검증 입력 데이터를 모델 객체로 변경 변경된 모델 객체를 뷰에 전달 MVC 패턴의 장점 동시다발적인 개발 가능 - 백엔드, 프론트엔드 개발자가 독립적으로 개발 진행가능 높은 결합도 - 논리적으로관련있는 기능을 하나의 컨트롤러로 묶거나, 특정 모델과 관련있는 뷰를 그룹화 가능 낮은 의존도 - 모델, 뷰, 컨트롤러는.. 2022. 8. 1.
Null-safety Null-Safety 스프링 프레임워크 5에 추가된 Null 관련 애노테이션 @NonNull @Nullable @NonNullApi // 패키지 이하의 모든 인자, 리턴타입 모두 NonNull 설정 @NonNullFileds 툴의 지원을 받아 커파일 시점에 최대한 NPE(Null PointerException)을 방지하기 위해 추가 되었습니다. 2022. 8. 1.
스프링 AOP Spring AOP (Aspect-oriented Programming) OOP를 보완하는 수단으로, 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법 흩어진 관심사 (Crosscutting Concerns) Class A { Aspect X, Aspect Y, Aspect Z} Class B { Aspect X, Aspect Y, Aspect Y} Class C { Aspect X, Aspect Z} 각 클래스에서 중복된 관심사를 갖는 경우에 AOP를 적용하면 Aspect X {A,B,C} Aspect Y {A,B} Aspect Z {A,C} 다음과 같이 Aspect들로 모듈화 할 수 있다. AOP 주요개념 Aspect와 Target Advice(해야할 일들) Join point와 Pointcu.. 2022. 8. 1.
SpEL SpEL(Spring Expression Language) 객체 그래프를 조회하고 조작하는 기능을 제공 Unified EL과 비슷하지만, 메소드 호출 지원 및 문자열 템플릿 기능도 제공 OGNL, MVEL, JBOssEL 등 자바에서 사용가능한 여러 EL들이 있지만, SpEL은 모든 스프링 프로젝트 전반 사용하는 EL 스프링 3.0부터 지원 SpEL 구성 ExpresstionParser parser = new SpelExpressionParser() StandardEvalutationContext context = new StandardEvaluationContext(bean) Expression expression = parser.parseExpression("SpEL 표현식") String value.. 2022. 7. 30.
REST API란? API Application Programming Interface 두 어플리케이션 간의 요청과 응답을 사용하여 서로 통신하는 방법을 정의한 인터페이스 REST REpresentational State Transfer 인터넷 상 시스템 간의 상호 운용성을 제공하는 방법 중 하나 시스템 각각이 독립적인 진화를 보장하기 위한 방법 REST 아키텍처 스타일을 따르는 것이 REST API입니다. REST 아키텍처 스타일 Client - Server Stateless Cache Uniform Interface Layered System Code On Demand 이 중에서 Uniform Interface가 잘 지켜지지 않는 경향이 있습니다. Uniform Interface의 제약조건 identification o.. 2022. 7. 27.