목록BE/Spring (178)
오봉이와 함께하는 개발 블로그
비즈니스 요구사항 회원 가입할 수 있고 조회할 수 있다 일반, VIP 등급이 있다 회원 데이터는 자체 DB를 구축할 수, 외부 시스템과 연동할 수 있다(미확정) 주문과 할인 정책 회원은 상품 주문 가능 등급에 따라 할인 정책 적용 가능 할인 정책은 모든 VIP는 1000원 할인(변경될 수 있다) 할인 정책은 변경 가능성이 높음 요구사항에서 회원 데이터, 할인 정책 같은 기능은 결정이 안 되었는데 결정될 때 까지 개발을 미룰 수 없기에 객체 지향 설계 방법으로 개발을 해보자. 인터페이스를 만들고 구현체를 갈아끼울 수 있도록 설계하자! 회원 도메인 요구사항 회원 가입 가능, 조회 가능 일반과 VIP 등급으로 나뉨 회원 데이터는 자체 DB를 구축할 수, 외부 시스템과 연동할 수 있다(미확정) 회원 도메인 협력..
탄생 과거 EJB의 느리고 불편하며 복잡하다는 문제점을 지적하며 Rod Johnson(로드 존슨)이 출간한 책을 기반으로 Juergen Hoeller(유겐 휠러)와 Yann Caroff(얀 카로프) 셋이 만들었다. 스프링이란 스프링 데이터 DB의 CRUD는 다 비슷하기 때문에 이를 편리하게 사용할 수 있게 도와줌 스프링 세션 세션 기능을 편리하게 사용할 수 있도록 도와줌 스프링 시큐리티 보안과 관련된 기능을 사용할 수 있도록 도와줌 스프링 Rest Docs Test를 편리하게 하여 API 문서화를 편리하게 해줌 스프링 배치 배치 처리에 특화된 기술을 사용할 수 있다. 스프링 클라우드 클라우드 처리에 특화된 기술을 사용할 수 있다. 스프링 프레임워크 핵심 기술 스프링 DI 컨테이너, AOP, 이벤트 등 웹..
스프링 부트 파일 업로드 / 파일 다운로드 MultipartFile 클래스 사용 의존성 필요 없음 application.properties 파일에서 파일 최대 크기만 설정 자동으로 MultipartConfigElement 클래스를 빈으로 등록 파일명 중복되지 않도록 UUID 사용 소프트웨어 구축에 사용되는 식별자 표준 16 옥텟(128바이트)의 수 표준 형식에서 UUID는 32개의 16진수로 표현되며 총36개 문자(32개 문자와 4개의 하이픈)로 된 8-4-4-4-12라는 5개의 그룹을 하이픈으로 구분 자바 UUID 클래스의 randomUUID() 메소드를 사용해서 유일한 식별자 생성 스프링 부트 프로젝트에서 파일 업로드 / 다운로드 예제 파일 업로드 파일명 중복되지 않도록 파일 이름 변경해서 업로드 한..
스프링 부트(Spring Boot) 스프링 프레임워크를 사용하는 프로젝트를 아주 간편하게 설정할 수 있는 스프링 프레임워크의 서브 프로젝트 톰캣 설치 등 여러가지 복잡한 설정하지 않아도 된다. 특징 XML 기반 설정 과정 없이 간단히 프로젝트를 시작할 수 있음 Maven의 pom.xml 파일에 의존성 라이브러리의 버전을 지정하지 않아도 된다.(스프링 부트가 권장 버전 관리) 단독 실행되는 스프링 애플리케이션 구현 가능 프로젝트 환경 구축에 필요한 서버 외적인 툴 내장되어 있어 별도 설치 필요 없음 사용할 스프링 부트 프로젝트 정보 Maven Java 11 2.6.2 Group : com.multi Artifact : boot002 name : boot002 Package Name : com.multi.b..
@Controller vs @RestController @Controller : 결과를 뷰 페이지(.jsp) 이름 반환 @RestController : 별도의 뷰를 제공하지 않은 채 데이터 반환 클래스에 붙임 @ResponseBody와 기능 동일 (메소드에서 처리) @RestController 예제 productSearchForm3.jsp와 productSearchForm3.js는 1과 같다.(선택자 이름, js에서 url 이름만 바꿈) // ProductController3.java // 상품 검색 폼3 이동 @RequestMapping("/product/productSearchForm3") public String productSearchForm3() { return "product/productSe..