전체 글 106

springboot JPA Annotation 정리

Springboot JPA에 관련 되어서 개인적으로 Annotation을 정리 어노테이션 의미 @Entity @Entity가 설정된 클래스를 엔티티라하며, 기본적으로 클래스 이름과 동일한 테이블과 매핑된다. @Table 엔티티 이름과 매핑될 테이블 이름이다른경우, name속성을 사용하여 매핑한다. 엔티티 이름과 테이블 이름이 동일하면 생략해도 된다. @Id 테이블의 기본 키를 매핑한다. 엔티티의 필수 어노테이션으로서 @Id가 없는 엔티티는 사용하지 못한다. @GeneratedValue @Id가 선언된 필드에 기본 키 값을 자동으로 할당한다. 다양한 옵션이 있지만 @GeneratedValue만 사용하면 설정된 데이터베이스에 따라서 JPA가 자동으로 결정해준다.(H2는 시퀀스를 이요하여 처리) 테이블과 매핑..

Spring 2019.11.16

h2 database 설치 및 실행법

http://www.h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2 MB jar file size Support S www.h2database.com 위의 주소로가서 H2 Database에 접속하면 아래와 같은 화면이 제공되어 다운로드가 가능하다. 위의 파일을 다운로드..

[DB] 2019.11.15

Springboot 자동설정 및 의존성 관리

Springboot의 구성하는 핵심요소 3가지 1. 스타터(Starter) - 기능: 스프링이 제공하는 특정 모듈을 사용할 수 있도록 관련된 라이으버리 의존성을 해결한다 2. 자동설정(AutoConfiguration) - 기능: 스타터를 통해 추가한 모듈을 사용할 수 있도록 관련된 빈 설정을 자동으로 처리 해준다. 3. 액추에이터(Actuator) - 기능: 스프링부트로 개발된 시스템을 모니터링 할 수 있는 다양한 기능을 제공한다. mvn Repository 가서 -> Hibernate ORM Hibernate EntityManager설정 [pom.xml]에 위의 사항을 추가하면 쉽게 환경을 구축할 수 있다. 스프링과 스프링부트의 의존성 비교 - 스프링의 연동은 JPA 외의 spring-orm.jar /..

Spring 2019.11.14

Lombok

Lombok - 소스 간결화 - 도메인 클래스에 메소드를 반복적으로 작성하는 것을 편리하게 해줌 Lombok을 사용하는 이유 - 자바 파일을 컴파일할 때, 자동으로 생성자, Getter,Setter, toString() 같은 코드를 자동으로 추가 해준다. 또한 Getter/Setter/toString() 부분에 대한 소스도줄어들어 소스의 간결화를 도와준다. Lombok을 사용 전의 코드 package com.rubypaper.chapter01.domain; import java.util.Date; public class BoardVO { private int seq; private String title; private String writer; private String content; private ..

Spring 2019.11.13

Springboot WebApplication Type / @RestController

Springboot WebApplication Type - NONE - SERVLET - REACTIVE (SPRING 5.0 추가 된 비동기 처리와 논 블로킹 입출력을 지원하는 웹 플럭스를 적용할때 사용한다) 만일 소스에서 [Springboot WebApplication Type] 설정을 했더라도 application.properties에서 기본 설정을 해두었다면 우선순위에 의해서 [application.properties]에서 설정된 우선 순위로 실행이 된다. 스프링부트 포트 설정 관련방법 ##WebApplication Type Setting spring.main.web-application-type=servlet ##Server Setting server.port=8000 포트 번호를 0으로하면 현..

카테고리 없음 2019.11.12

Springboot RestController 사용하기

@RestController은 JSP 같은 뷰(View)를 별도로 만들지 않는다. 대신에 컨트롤러 메소드가 리턴한 데이터 자체를 클라이언트에게 전달한다. 클라이언트에 전달되는 데이터 종류(1) 1. 문자열 2. VO(Value Object)나컬렉션 형태의 자바 객체 (자바 객체가 전달되는 경우에는 자동으로 JSON으로 변환하여 처리하게 된다.) 클라이언트에 전달되는 데이터 종류(2) (1) 문자열을 리턴하는 경우 메소드의 리턴 타입이 문자열 인경우-> 브라우저의 응답 프로토콜 body에 세팅된 문자열을 그대로 출력한다. (2) VO 객체를 리턴하는 경우 VO 객체를 리턴하는 경우에는 VO객체를 JSON 데이터로 변환하여 응답하는 프로토콜 Body에 출력한다. VO객체를 리턴하는 경우 Domain 생성 후..

Spring 2019.11.11

Springboot 폴더구조

[static] : HTML 같은 정적인 웹 리소스 저장 [templates] : 타임리프 템플릿 기반의 웹 리소스가 저장 된다. [application.properties] : 프로젝트 전체에서 사용할 프로퍼티 정보를 저장한다. [.jar]의 파일로 만들 경우에 [pom.xml]에서 프로젝트의 전반의 환경을 설정할 수 있도록 [pom.xml]을 제공한다. Springboot Tomcat은 어떻게 추가 되어 구동되는가? -> 프로젝트 생성시에 [Web Starter]을 추가하여 스프링 부트가 웹 프로젝트 환경에 필요한 라이브러리를 등록하여 주기 때문에 따로 설정하지 않아도 된다. 사용되고 있는 Tomcat의 버전을 알고 싶을 때는? -> [Manven Dependencies]을 통해서 현재 프로젝트에서 ..

Spring 2019.11.10

Springboot 프로젝트 생성방법 ( Intellij )

Springboot 프로젝트 생성방법 ( Intellij ) 1. [상단메뉴 맨 오른쪽]->[File]->[New]->[Project] 2. [Spring Initialzr] 클릭 3. [Project SDK] 선택 (java 몇버전으로 사용 할 것 인가에 대한 설정) 현재 자바 (12.0.1) 4. [Choose initialzr Service URL] -> [Default] 체크 -> [Next] 5. [Project metaData] 그룹명 패키지명 입력 ->[Next] 6. [사용할 환경 설정 선택] ->Dependencies 설정 기본예시-> spring boot devtools, lombok, web 설정 7. 프로젝트 생성까지 컴퓨터마다 시간이 다르므로 잠시 대기 후 사용하시면 됩니다.

Spring 2019.11.09

JPA Enum 형태 관리방법-회원관리

회원관리를 enum의 형태로 사용하면 유용package com.example.study.model.enumclass; import lombok.AllArgsConstructor; import lombok.Getter; //0.Enum클래스를 생성하고 -> //1.엔티티에 status를 enum으로 변경-> String->Enum으로 변경 //@Enumerated(EnumType.STRING) //private UserStatus status; //Jpa Enum 형태의 관리를 받을 수 있는 부분 //2.UserLogicService 에서 Status 상태 값을 바꾼걸로 수정한다. @Getter @AllArgsConstructor public enum UserStatus { //(인덱스값,인덱스값의 대한 ..

Spring 2019.11.08

springboot Test 코드작성방법

1. [해당프로젝트]->[src]->[test]->[java]->[패키지 하위]->[test할 Repository 생성] 2. [test할 Repository]클래스에다가 extends [프로젝트명]ApplicationTests를 상속 ex-)현재 [프로젝트 명]은 [study]로 되어있어서 [StudyApplicationTests] 3. 테스트 코드를 실행할 메서드에 @Test 어노테이션를 꼭 붙여서 실행 4. @Transactional 어노테이션을 사용시에 데이터를 롤백 할 수 있는 기능이 있다. 데이터를 수시로 삭제되거나 수정되는 경우를 방지함으로 용이하다. - 아래는 테스트 코드 작성예시(JPA사용) package com.example.study.repository; import com.examp..

Spring 2019.11.07