Spring 7

DI & AOP

IoC, DI IoC framework이 필요한 요소를 제공함(개발자가 만들지 않음) Spring에 한정해서 IoC == DI 라고 생각해도 큰 문제는 안된다. DI 생성자 DI setter DI DL; Dependency Lookup DI 구현 xml xml + annotation java 설정 file : xml이 하던 일을 자바에게 시킴 @Configuration Annotation Autowired 타입 기준으로 동일한 객체를 자동을 주입시킴 타입이 같은 객체가 존재한다면 @Qualifier을 이용(혹은 name 속성으로 별칭달아서 이용, 원칙은 @Qualifier) 존재 유무는 XML 파일에 명시 Component 설정한 패키지를 순회하여 @Component가 달린 클래스를 자동으로 객체로 만들..

Spring Framework

Spring framework Enterprise application에서 필요로 하는 기능을 제공하는 프레임워크 Enterprise application 원격의 환경에서 네트워크로 활용하는 어플리케이션 web이라고 봐도 무방하다. JEE가 제공하는 다수의 기능을 지원하는 경량화 프레임워크 이전에 쓰던 프레임워크의 모든 기능을 종합적으로 사용하면서 경량화 된 솔루션 JEE의 기능 + DI + AOP JEE: Java Enterprise Edition DI: Dependency Injection AOP: Aspect Oriented Programming Spring framework의 목표 java enterprise applicaion의 기반(infro) 제공하는 것. 그로인해 개발자는 domain pr..

[Spring MVC] 04. DTO 클래스와 유효성 검증

DTO >Data Transfer Object 단어 뜻 그대로 데이터를 전송하는데 사용하는 객체를 의미하는 용어이다. 기존의 방식이 @RequestParam으로 클라이언트의 요청 데이터의 일부씩 받던 방식이었다면, DTO를 사용하는 방식은 클라이언트의 요청 데이터를 통째로 받아, 따로 생성해둔 객체에 저장하고 이를 제공 받는 형식이다. DTO용도로 생성한 객체는 클라이언트의 요청의 내용에 해당하는 변수들과 getter들가 필수적으로 존재한다. (setter는 사용자 편의에 따라서) DTO 객체에 클라이언트의 요청을 전달하기 위해서는 @RequsetBody 애너테이션을 사용하면 된다. DTO 유효성 검증 >Validation DTO 클래스의 유효성을 검증해야한다. 유효성 검증이란, 데이터가 필요로하는 올바..

Spring/Spring Boot 2022.10.22

[Spring MVC] 03. Controller

Spring Boot 기반 애플리케이션 >설정 조건 >애플리케이션 경계 및 요구 사항 우선은 간략하게만...! -버거 가게를 위한 애플리케이션 -멤버(고객, 점장) 정보 -버거 정보 -주문 정보 1. Entrypoint Class 애플리케이션의 시작점이 되는 클래스를 Entrypoint Class라고 한다. Spring Boot를 이용했다면, Entrypoint Class는 자동 생성된다. 위의 조건대로 설정한 상태에서는 아래 경로를 따른다. src -> main -> java -> com.example -> PracticingControllerApplication @SpringBootApplication -자동 구성 활성화 -애플리케이션 패키지 내의 @Component가 붙은 클래스를 검색(Scan)한..

Spring/Spring Boot 2022.10.22

[Spring MVC] 02. Spring MVC

Spring MVC >Spring MVC Spring MVC는 Spring의 여러 모듈 중 웹 계층을 담당하는 모듈 중 하나이다. 정확한 모듈명은 spring-webmvc인데 줄여서 Spring MVC라고 하는 것이다. 그리고 웹 프레임워크의 한 종류라는 이유로 Spring MVC 프레임워크라고도 부른다. Spring MVC는 Servlet API 기반으로 클라이언트의 요청을 처리한다.Servlet이란 클라이언트의 요청을 처리하기 위해 java 코드로 작성된 클래스 파일이고, 이를 담고있는 컨테이너를 Servlet Container라고 하며 기본적으로 Apache Tomcat이 사용된다. 쉽게 그냥 Sevlet이라는 웹 서버 프로그래밍을 하기 위한 사양을 갖춘 자바 코드를 기반으로 Spring MVC를 ..

Spring/Spring Boot 2022.10.22

[Spring MVC] 01.애플리케이션 개발 시작

앱 개발의 순서 >애플리케이션 경계 설정 앱을 개발하기 위해서는 해당 앱의 기능에 맞춰서 범위를 제한해야 하는 것이 먼저다. 이를 애플리케이션 경계를 설정한다고 표현한다. >요구 사항 수집 해당 앱이 어떤 기능을 필요로하고 고객에게 어떤 기능을 제공할 지에 대한 요구 사항을 수집해야한다. >패키지 구조 생성 애플리케이션의 경계를 설정하고 요구 사항 수집이 완료되면 이제 코드를 짜면서 기능을 구현하는 클래스들을 만들어내면 된다! 그런데 애플리케이션 하나에 생각보다 매우 많은 클래스들이 필요하다. 그래서 이를 정리하기 위해 클래스를 만들기 전 폴더들, 즉 패키지를 생성하여 정리할 준비를 하는 것이 좋다. 정해진 것은 아니지만 두 개의 대표적인 구조가 있다. (1)기능 기반 패키지 구조와 (2)계층 기반 패키..

Spring/Spring Boot 2022.10.22