Spring 24

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

Naming Convention(네이밍컨벤션)

Camel Case - 단어를 표기할 때 첫 문자는 소문자로 시작하며 띄어쓰기 대신 (대문자)로 단어를 구분 - Java의 변수를 선언 할 때 camelCase로 선언한다. Snake Case - 단어를 표기할 때 모두 소문자로 표기하며, 띄어쓰기 대신( _ )로 표기 - DB컬럼에 사용 -> ex : phone_number, created_at, updated_at API를 정의하기에 따라 다르지만, 주로 API 통신 규격과 구간에서는 Snake Case를 많이 사용

Spring 2019.11.04

JPA(Java PErsistent API)

JPA(Java PErsistent API) - ORM( Object Relational Mapping)으로, RDB 데이터 베이스의 정보를 객체지향으로 손쉽게 활용할 수 있도록 도와주는 도구 - Objet(자바객체)와 Relation(관계형 데이터베이스) 둘간의 맵핑을 통해서 보다 손쉽게 적용할 수 있는 기술을 제공한다. - 쿼리에 집중하기보다는 객체에 집중함으로써, 조금더 프로그래밍적으로 많이 활용이 가능하다.

Spring 2019.11.02