Spring 97

[Spring] 06. Lombok - getter, Setter, 기본타입 생성자 코드 중복 없애기

Lombok Lombok(롬복)이란, 자바 프로젝트를 진행하는데 거의 필수적으로 필요한 메소드/ 생성자 등을 자동생성해줌으로써 코드를 절약할 수 있도록 도와주는 라이브러리이다. ex) getter, setter 설치 1. 환경설정 Windows: Ctrl + Alt + S macOS: command + , 2. 검색창에 "Annotation Processors" 입력 후, dncmr " Enable ~" 체크하고 ok 3. Shift 두 번 누르고 plugins 입력 후 엔터 4. lombok 입력 후 아래처럼 생긴 아이콘의 우측 install 후 인텔리제이 재시작 5. 다시 Shift 두 번 누르고 plugins 입력 후 엔터 6. lombok 검색했을 때 installed 상태라면 설치 완료 - 인텔..

Spring/Spring Boot 2021.11.11

[Spring] 05. JPA - CRUD (Spring Service layer)

이번에는 JPA Repository를 이용해 CRUD를 하는 방법을 익혀보자 1. 데이터 저장하기(Create) & 조회하기 (Read) * Repository의 save와 findAll 등을 이용합니다. // 데이터 저장하기 lectureRepository.save(new Lecture("프론트엔드의 꽃, 리액트", "임민영")); // 데이터 전부 조회하기 List lectureList = lectureRepository.findAll(); for (int i = 0; i < lectureList.size(); i++) { Lecture lecture = lectureList.get(i); System.out.println(lecture.getId()); System.out.println(lectur..

Spring/Spring Boot 2021.11.11

[Spring] 04. 데이터베이스 생성, 수정시간 자동 생성 클래스 만들기 (Timestamped 상속 테이블)

전 게시물에서는 Lecture 클래스를 만들어 @Entity // 테이블임을 나타냅니다. Entitiy어노테이션으로 도메인, 테이블로 만들고, JpaRepositpory를 인터페이스로 상속받아 데이터를 관리할 수 있는 구조를 만들어보았다. 이번에는, 또 다른 클래스 테이블을 만들어, 이걸 Lecture 클래스에서 상속받아, 데이터베이스 테이블에 칼럼을 추가해보자 이번에 만들 클래스는, TimeStamped - 시간 기록 테이블이다. 데이터베이스를 만들 때, 생성 시간과 수정 시간을 기록할 수 있는 컬럼을 포함하는 테이블이다. 👉 DB 기본 중의 기본은, "생성일자"와 "수정일자"를 필드로 가지는 것입니다. 라고한다. 이건, 모든 테이블에 필요할 수 있으므로, 클래스를 따로 만들어(한번만 만들어) 다른 클..

Spring/Spring Boot 2021.11.10

[Spring] 03. Spring H2 데이터베이스 연동하기 (Repository 레이어, JPA)

시작전에, 데이터베이스 설정 일단 지금은 테스트를 위해, 인메모리 데이터베이스인 H2 데이터베이스를 사용한다, H2 데이터베이스는 프로젝트 시작할 때 install을 해주었으며, 간단하게 설정해 줄 수 잇다. src > main > resources > application.properties 파일에 다음 아래의 명러어 3개를 입력하면 끝! spring.h2.console.enabled=true spring.datasource.url=jdbc:h2:mem:testdb spring.jpa.show-sql=true http://localhost:8080/h2-console 접속 - url에 testdb url에 입력! Spring은 Controller, Service, Repository 3개의 레이어로 나..

Spring/Spring Boot 2021.11.04

[Spring Boot] 02. Java에서 어노테이션(Annotation) 이란? (미완)

1. 어노테이션이란, @ ~~~ 로 시작하는 게 어노테이션 @SpringBootApplication public class Class01Application { public static void main(String[] args) { SpringApplication.run(Class01Application.class, args); } } - 어노테이션이란, 사전적인 의미로 주석을 뜻하고, 실제로 서버의 주석이라고 생각할 수 있다. - 사람이 사용하는 주석은, 코드를 보는 개발자에게 정보를 알려주기위해 사용한다. - 마찬가지로 어노테이션 또한 서버에게 정보를 알려주기위해 사용하는 서버의 주석이다. JAVA 코드에 @로 시작해서 클래스나 메소드 선언문 바로 위에 쓰이게 되요 어노테이션은 코딩할때는 @로 표시..

Spring/Spring Boot 2021.11.04

[IntelliJ] 01. Spring 부트 프로젝트 세팅하기

일단 Spring boot를 이용하여 프로젝트를 시작해 봅니다. 1. 인텔리제이 설치 후 실행 - New Project 2. Spring Initializr 클리 Name : 프로젝트 명 Type : Gradle 선택 Group : 폴더 명 java : 8 jdk : 1.8 3. 다음화면에서 스프링부트에 필요한 패키지들을 설치할 수 있다. Lombok : getter setter 편하게 해줌 Spring web Spring Data JPA : Spring JPA ORM H2 Database : 테스트용 데이터베이스 MySQL Driver : Mysql 이정도 설치해주면 된다. 4. 프로젝트 생성 완료~ main > java > com.sparta.item01 > Item01Application.java ..

Spring/Spring Boot 2021.11.04

Spring 이란 - 스프링 VS 스프링 부트

Spring VS Spring boot 간단하게! 개발 속도가 느리고 비대했던 스프링 프레임웍을 좀 더 빠르게 만드는데 집중하기 위해 개발된 프레임워크가 스프링부트 입니다. 스프링 부트 스프링을 편리하게 사용할 수 있도록 지원해주는 프레임워크 (최근에 기본으로 사용) 단독으로 실행할 수 있는 스프링 어플리케이션을 쉽게 생성 Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨 손쉬운 빌드 구성을 위한 starter 종속성 제공 스프링과 3rd parth(외부) 라이브러리 자동 구성 - Spring에 맞는 외부라이브러리 버전을 알아서 설정해줌 메트릭, 상태확인, 외부 구성 같은 프로덕션 준비 기능 제공 관례에 의한 간결한 설정 Spring boot는 Spring 프레임워크를 편리하게 ..

Spring/Spring Boot 2021.11.03