전체 글 114

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

Entity 엔티티

Entity - JPA에서는 테이블을 자동으로 생성해주는 기능 제공 DB Table == JPA Entity JPA의 주요 Annotation과 용도 설명 Annotation 용도 @Entity 해당 class가 entity임을 명시 @Table 실제 DB테이블의 이름을 명시 @Id Index primary key를 명시 @Column 실제 DB Column의 이름을 명시 @GeneratedValue Primary key 식별키의 전략 설정 package com.example.study.model.entity; //클래스의 이름과 디비 컬럼의 이름이 동일하게 만든다. //User(카멜)=user import lombok.AllArgsConstructor; import lombok.Data; import ..

Spring 2019.11.05