목록spring (20)
삶 가운데 남긴 기록 AACII.TISTORY.COM
REST 제약 조건 Client - Server 구조를 따릅니다. stateless 클라이언트가 서버에 요청을 보낼 때 이전 요청의 영향을 받지 않습니다. 그래서 요청을 보낼 때 로그인(인증) 정보를 항상 함께 보내야 합니다. http는 기본적으로 staeless 구조입니다. Cacheable 캐시가 가능한지 명시할 수 있어야 합니다. http는 헤더에 cache-control 에서 캐시 여부를 명시할 수 있습니다. Uniform Interface 리소스를 URI를 통한 인터페이스로 관리합니다. Layered System 인증서버, 캐싱 서버, 로드 밸런서 등 여러 레이어로 된 서버들을 거치지만 클라이언트는 서버 사이의 레이어의 존재 유무를 알지 못합니다. Code on demand 클라이언트는 서버에 ..
아키텍처 Request → Controller(프레젠테이션 레이어, DTO) → Service(비즈니스 레이어, Model) → Persistence(퍼시스턴스 레이어, Entity) → DB(데이터베이스 레이어) → Persistence(entity) → Service(model) → Controller (DTO)→ Response Model, Entity 비지니스 데이터를 담는 역할을 Model이라 부르고 데이터베이스의 테이블의 스키마를 표현하는 역할을 Entity라고 합니다. 아키텍처의 각 레이어 별로 부르는 이름이 다를 뿐, 이름은 신경 쓰실 필요는 없습니다. Lombok 어노테이션 @Builder 디자인 패턴 중에서 빌더 패턴으로 구현하여 객체를 생성해줍니다. 생성자로 생성하는 것과 차이가 있다..
Gradle 빌드 도구 빌드 도구는 컴파일, 라이브러리 다운로드, 패키징, 테스팅 등을 자동화 해주는 도구를 말합니다. 프로젝트가 커지면 라이브러리가 많아지므로 전체를 빌드하기에는 비효율 적이므로 빌드를 나눠서 해야합니다. gradle은 이런 컴파일, 빌드, 유닛 테스트 등을 코드(그루비 언어)로 관리해줍니다. build.gradle plugins { id 'org.springframework.boot' version '2.6.12-SNAPSHOT' id 'io.spring.dependency-management' version '1.0.13.RELEASE' id 'java' } group = 'ds.co.kr' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1..
스프링 부트(Spring boot) 기존 스프링 프레임워크는 세팅이 매우 복잡하기 때문에 세팅을 자동으로 해주는 스프링 부트가 등장했습니다. 스프링 부트 덕분에 Stand-alone 어플리케이션을 쉽게 구동가능해졌습니다. 기존에는 자바 웹 어플리케이션을 WAR 파일로 압축해서 WAS에 배포했었고 다수의 WAR 파일을 동시 구동할 수 있어서 stand-alone이 아닙니다. 스프링 부트는 내장된 임베디드 WAS(tomcat, jetty 등)로 구동하게 됩니다. IDE 는 전자정부프레임워크 4.0 이상이나 STS 에서 스프링 부트를 지원합니다. DispatcherServlet 기존 웹 어플리케이션 개발은 HttpServlet을 상속하는 클래스를 만들고 doGet()이나 doPost()메서드를 구현하고 Htt..
JDK 설치 오라클 사이트에서 JDK를 다운받아서 설치합니다. 설치한 후에는 환경 변수에서 JAVA_HOME 을 등록하고 JDK가 설치된 경로를 지정해줍니다. 환경변수의 PATH에는 %JAVA_HOME%bin 으로 저장합니다. 설정이 완료된 뒤에는 명령프롬프트(cmd)에서 javac 명령어를 입력해서 컴파일러가 정상 실행되는지 확인합니다. 이클립스(STS, 전자정부프레임워크) 설정 Lombok 라이브러리의 안정성 때문에 이클립스를 JRE환경이 아닌 JDK환경에서 구동되도록 설정을 변경합니다. eclipse.ini(혹은 sts.ini) 파일의 상단에 아래와 같은 내용을 추가합니다. -vm JDK설치경로\bin\javaw.exe 이클립스 한글 인코딩(UTF-8) 확인 메뉴> Window > Preferenc..