FrameWork 14

[Spring] 빌드 관리 도구

1. 빌드 관리 도구? 우선, 빌드는 소스코드가 적혀있는 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태로 변환하는 과정을 말한다. 예를 들어 .java, .xml, properties 등의 파일을 jvm이나 톰캣같은 was서버가 인식할 수 있도록 변환해주는 것이다. 빌드 관리 도구는 소스 코드가 빌드 하는 과정에서 여러가지 외부 라이브러리를 사용하는데, 빌드 관리 도구는 사용자가 관리할 필요 없이 필요한 라이브러리들을 자동으로 관리해주는 것이다. 크게 Ant, Maven, Gradle 세 가지가 있다. 빌드 관리 도구의 과정은 아래와 같다. 종속성 다운로드 소스코드를 바이너리 코드로 컴파일 바이너리 코드 패키징 테스트 실행 시스템에 배포 2. Maven (1) maven이란? - Maven은 Java용..

FrameWork/Spring 2023.07.31

[Spring Boot] JPA Entity

1.JPA사용 시 Entity 구성 @Id primary key를 가지는 변수를 선언하는 것을 뜻한다. @GeneratedValue 어노테이션은 해당 Id값을 어떻게 자동으로 생성할 지 전략을 선택할 수 있다. 일반적으로는 @GeneratedValue(Strategt = GenerationType.AUTO)를 사용한다. DB에 맞게 자동으로 생성해주는 역할을 한다. @ManyToOne 2. Entity에 기본생성자가 필수 - JPA의 Entity는 반드시 파라미터가 없는 기본 생성자를 지녀야 한다. - 이 기본생성자는 public, protected여야하며, private이면 안된다. 2-1. 기본생성자가 필요한 이유 동적으로 객체 생성 시 Reflection API를 활용하기 때문이다. JPA는 DB값..

[Spring] RequestMapping

1.RequestMapping이란? - 특정 url로 요청을 보내면 Controller에서 어떤 방식으로 처리할지 정의하는데, 이 때 들어온 요청을 특정 메서드와 매핑하기 위해 사용하는 것이 @RequestMapping이다. 2. 예시 @RequestMapping(value = "/hello", method = RequestMethod.GET) - method는 어떤 요청으로 받을 지 정의함(GET, POST, PUT, DELETE 등) 3. 메소드 단위 지정/ 클래스 단위 지정 1) 메소드 단위 지정 - 다음과 같이 메소드 단위로 RequestMapping을 지정하게 되면 같은값이 중복되고 불필요한 코드를 반복한다는 느낌이 든다. @RestController public class HelloContro..

FrameWork/Spring 2022.01.27

[Spring Boot] SOAP API & REST API

* API란? 데이터를 요청하고 응답하기 위한 인터페이스 * SOAP API란? Simple Object Access Protocol(http,https) 그 자체로 프로토콜이며 보안이나 메세지 전송에 있어 REST보다 많은 표준들이 정해져있기 때문에 조금 복잡합니다. 따라서 SOAP을 대안으로 나온 것이 RESTful 기반입니다. > 기본구조 SOAP-ENV:Envelope SOAP-ENV:Header SOAP-ENV:Body 위와 같은 구조로 XML문서로 표현되는데 복잡한 구성으로 인해 HTTP 상에서 전달되기 무겁고, 메세지 인코딩/디코딩 과정 등 웹서비스 개발의 난이도가 높아 개발 환경의 지원이 필요하다고 합니다. * REST API란? REST API는 네트워크를 통해서 컴퓨터들끼리 통신할 수 ..

[Spring Boot]JPA의 기본 개념

* JPA(Java Persistence API)란 무엇인가? DB테이블과 자바 객체 사이의 매핑을 처리해주는 ORM기술의 표준입니다. 요악하자면, 자바의 클래스와 DB의 테이블을 매핑하는 기술입니다. * ORM이란 무엇인가? Object Relational Mappping 객체와 관계형데이터베이스를 매핑, 즉 객체와 DB의 테이블이 매핑을 이루는 것입니다. * JPA를 왜 사용할까? 개발을 시작하거나 컬럼이 추가되면 CRUD SQL을 반복적으로 사용합니다. 신규 컬럼 하나만 추가되더라도 DTO, DAO, 수정작업이 매우 번거롭습니다. 이 때문에 객체와 테이블을 매핑시켜주는 ORM이 주목받고, JAVA에서는 JPA라는 표준 스펙을 정의하게 되었습니다. * JPA의 특징 자바 객체와 DB테이블 사이의 매핑..

[Spring] 파일업로드, 다운로드 구현

Spring MVC에서 파일을 업로드하려면 몇 가지 라이브러리와 설정을 추가해야합니다. MultiPart를 처리하기 위해서 직접 구현하지 않고 주로 아파치에서 제공하는 common-fileupload 라이브러리를 사용합니다. 또한 commons-io 라이브러리를 추가해야 하고, MultipartResolver Bean이 설정되어야 합니다. 파일 테이블은 생성되어있다는 가정하에 시작해보겠습니다. 1) pom.xml작성 common-io라이브러리를 추가하고, 라이브러리를 Maven으로 등록하는 것은 해당 태그들을 추가하면 됩니다. 2) MutlipartResolver 객체 생성하는 Bean 설정 DispatcherServlet은 mltipart/form-data가 요청으로 들어올 경우 MultipartRes..

FrameWork/Spring 2020.12.12

[Spring] 쿠키, 세션 사용법

1) 쿠키란 사용자 컴퓨터에 저장 저장된 정보를 다른 사람이나 시스템이 볼 수 있다 유효기간이 지나면 사라짐 브라우저별로 제한을 두고 있다 2) 세션이란 서버에 저장 서버가 종료되거나 유효기간이 지나면 사라짐 3) 동작과정 - 쿠키 - 세션 4) Spring에서의 쿠키 사용법 - 문법 - 쿠키 생성하고 response에 담기 쿠키 이름은 일반적으로 알파벳, 숫자, 언더바로 구성 - 클라이언트가 보낸 쿠키 정보 읽기 - 쿠키 유지시간 설정/ 쿠키 삭제

FrameWork/Spring 2020.12.12

[Spring] 초기설정

초기설정 1) 새로운 Spring Project를 생성합니다. Spring Legacy Project생성 2) pom.xml에 JDK의 버전과 스프링의 버전을 수정합니다. pom.xml의 구조는 기본적으로 project{ 프로젝트의 정보 + properties + [repositories] + dependencies + build } 식으로 되어있습니다. 3) Java Build Path 변경 Java 버전을 1.8로 변경하고 서버를 체크해줍니다. 4) pom.xml에 필요한 라이브러리를 추가해줍니다. mvnrepository.com 위 사이트에서 필요한 라이브러리를 검색 > 추가하시면 됩니다. Maven Repository: Search/Browse/Explore Mangooio Core Last Re..

FrameWork/Spring 2020.12.12

[Spring] Spring 어노테이션 종류

Spring framework Annotation -@를 이용한 주석, 자바코드에 주석을 달아 특별한 의미를 부여하는 것입니다. (클래스, 메소드, 변수 등 모든 요소에 선언이 가능) @RequestController http request 라우팅 어노테이션 메소드의 반환결과를 JSON 형태로 반환해줍니다. @RequestMapping 요청 URL을 어떤 메소드가 처리해줄 것인지 매핑시켜주는 어노테이션입니다. @Bean 스프링 컨테이너에 Bean을 등록하도록 해주는 어노테이션입니다. 개발자가 생성하지 않은 외부라이브러리 객체를 사용할 때/ 반환하는 객체를 bean으로 등록합니다. @Autowired 생성자나 setter메소드 없이 의존성을 주입해 자동으로 객체를 생성해주는 어노테이션입니다. @Config..

FrameWork/Spring 2020.12.11