[Spring] Lombok 라이브러리 1. 롬복(Lombok)이란? 자바 클래스를 만들 때 자주 사용되는 getter/setter나 toString 등의 코드를 어노테이션으로 대체하여 선언하고, 컴파일 시 그에 맞는 코드를 자동으로 생성해 주는 라이브러리 2. 롬복(Lombok) 사용법 1) 라이브러리에 의존성 추가 dependencies { ...(중략)... compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' ...(중략)... } 2) Lombok 다운로드 https://projectlombok.org/download 3) Lombok 실행 -> 이클립스에 설치 Lombok을 실행하여 프로젝트가 존재하는 곳에 설치 주의! Lombok을.. [Spring] Swagger 라이브러리 1. Swagger란? 서버로 요청되는 API 리스트를 HTML 화면으로 문서화하여 테스트할 수 있는 라이브러리 @RestController를 읽어 API를 분석하여 HTML 문서를 작성함 Swagger를 협업에 사용하면 Path, Request, Response, 제약 조건 등을 한번에 알 수 있음 2. Swagger 설정 방법 @Configuration: 어노테이션 기반의 환경 구성을 돕는 어노테이션 @Bean: 개발자가 직접 제어가 불가능한 외부 라이브러리 등을 Bean으로 만들 때 사용 3. Swagger 사용법 : 기존에 사용하던 Board 프로젝트에 Swagger 라이브러리 사용 1) 의존성 추가 dependencies { implementation group: 'io.springfox', n.. [Spring] MVC 패턴 1. MVC(Model View Controller) 디자인 패턴 중 하나인 MVC 패턴은 Model, View, Controller의 줄임말로, 애플리케이션을 구성할 때 그 구성 요소를 세 가지 모듈로 구분한 패턴을 의미함 사용자 인터페이스로부터 비즈니스 로직을 분하여 서로 영향 없이 쉽게 고칠 수 있는 설계가 가능 1) 컨트롤러 Model과 View 사이에서 브릿지 역할을 수행 앱의 사용자로부터 입력에 대한 응답으로 모델 및 뷰를 업데이트하는 로직 포함 사용자의 요청은 모두 컨트롤러를 통해 진행되어야 함 컨토롤러로 들어온 요청은 어떻게 처리할지 결정하여 모델로 요청을 전달함 2) 모델 데이터를 처리하는 영역 모든 데이터 정보를 가공해 가지고 있는 컴포넌트 변경이 일어나면 처리 방법을 구현해야 함 데이.. [SpringBoot] REST API란? 1. API란? Application Programming Interface 응용 프로그램에서 사용할 수 있도록 다른 응용 프로그램을 제어할 수 있도록 만든 인터페이스 API를 사용하면 내부 구현 로직을 알지 못해도 정의되어 있는 기능을 쉽게 사용할 수 있음 Interface - 장치 간 정보를 교환하기 위한 수단이나 방법 (마우스, 키보드 등) 2. REST란? Representatinal State Transfer 자원의 이름으로 구분하여 해당 자원의 상태를 교환하는 것 자원의 표현에 의한 상태 전달 1) 자원의 표현 자원: 해당 소프트웨어가 관리하는 모든 것 자원의 표현: 그 자원을 표현하기 위한 이름 2) 상태 전달 데이터가 요청되어지는 시점에서 자원의 상태를 전달 JSON 혹은 XML을 통해 데.. [Spring] 싱글톤 패턴 1. 싱글톤 패턴(Singleton Pattern) 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고, 최초 생성 이후에 호출된 생성자는 최초 생성자가 생성한 객체를 리턴함 App.ctx import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class AppCtx { @Bean public Client client() { return new Client(); } } ClientMain.class import org.springframework.context.ApplicationContext; import .. [Spring] 빌드 관리 도구 1. 빌드 관리 도구란? 소프트웨어 개발에서 소스 코드를 실행 가능한 애플리케이션으로 만들어 주는 도구 프로젝트에서 필요한 xml, properties, jar 파일들을 자동으로 인식해 빌드해 주는 도구 소스 코드를 컴파일, 테스트, 정적 분석 등을 하여 실행 가능한 앱으로 빌드함 프로젝트 정보 관리, 테스트 빌드, 배포 등의 작업을 진행해 줌 자바의 대표적인 빌드 도구: Ant, Maven, Gradle 2. 빌드 도구의 종류와 차이점 1) 앤프(Ant) 이클립스 IDE에 기본적으로 탑재되어 있으며, XML 스크립트를 기반으로 함 최근 빌드 도구와 달리 자동 라이브러리 업데이트 기능은 탑재되어 있지 않음 2) 메이븐(Maven) 자동으로 라이브러리와 의존성을 관리하는 기능이 있음 XML 스크립트를 기반.. 스프링(Spring), 스프링부트(SpringBoot)란? 1. 스프링이란? 1) 스프링의 개념 자바 기반의 웹 애플리케이션을 만들 수 있는 프레임워크 스프링 프레임워크는 현대 자바 기반의 엔터프라이즈 애플리케이션을 위한 프로그래밍 및 Configuration Model을 제공 2) 스프링의 특징 자바 객체와 라이브러리들을 관리해 주며, 내장 톰캣이 있어 자바 웹 애플리케이션을 구동할 수 있음 경량 컨테이너로 자바 객체를 직접 Spring 안에서 관리함 객체의 생성 및 소멸과 같은 생명 주기(Life cycle)을 관리하며, Spring 컨테이너에서 필요한 객체를 가져와 사용함 2-1) 제어 역전(IoC, Inversion Of Control) 객체의 생성을 관리 위임 주체에게 맡김 사용자는 객체를 직접 생성하지 않고, 객체의 생명 주기를 컨트롤하는 주체는 다른.. 이전 1 다음