InteliJ 23

Lombok, DTO

- Lombok Getter, Setter 등 필수적으로 필요한 메소드들을 어노테이션으로 자동 생성해줘서 코드의 길이를 줄일 수 있도록 도와주는 라이브러리 - @Getter, @NoArgsConstrucctor 적용 @Getter : Getter 함수를 대신함 public void getTutor() { return this.tutor; } 등 Getter함수들을 적을 필요 없음 @NoArgsConstructor : 기본생성자를 대신 생성 public Course() { } 를 기재 안 해도 됨 /*Course.java*/ @Getter //getter함수를 대신함(lombok) @NoArgsConstructor // 기본생성자를 대신 생성해줍니다.(lombok) @Entity public class C..

Spring Framework 2021.07.18

JPA) 생성일자, 수정일자

- extends 클래스의 상속 이미 만들어둔 것을 가져다가 쓰는 것 - 상속 연습-Timestamped DB의 기본 중 기본은 데이터의 생성일자와 수정일자를 파악하는 것임 생성일자와 수정일자를 필드로 가지면 파악할 수 있음 Timestamped 클래스를 미리 만들어두면 다른 클래스를 만들 때 상속해서 사용하면 굳이 일일이 매번 클래스 멤버변수에 생성일자, 수정일자를 쓸 필요가 없음 : 번거로움이 줄음 /*Timestamped.java*/ @MappedSuperclass // 상속했을 때, 멤버변수를 컬럼으로 인식하게 합니다. //@EntityListeners: 테이블 같은걸 주시하는것 @EntityListeners(AuditingEntityListener.class) //AuditingEntityLis..

Spring Framework 2021.07.11

JPA) JPA 사용해보기

- 콘솔에 SQL이 보이도록 application.properties 세팅 spring.jpa.show-sql=true - JPA 사용해보기 @SpringBootApplication public class Week02Application { public static void main(String[] args) { SpringApplication.run(Week02Application.class, args); } //프로젝트에서 실제로 쓰이진 않음. 단지 JPA 사용을 보여주기 위해 튜터가 만들어본 코드임 // Week02Application.java 의 main 함수 아래에 붙여주세요. @Bean //repository: 쿼리를 날리는 녀석 public CommandLineRunner demo(Cours..

Spring Framework 2021.07.11

JPA) JPA 시작하기

- JPA SQL을 쓰지 않고 데이터를 생성, 조회, 수정, 삭제할 수 있도록 해주는 번역기 JPA를 사용 안한다면 DB에 맞는 문법을 가지고 SQL을 일일이 다 짜야함 DB를 다른 종류로 바꾸게 된다면 기존 SQL을 바꾼 DB 문법에 맞게 다 바꿔야함 JPA를 사용한다면 DB 종류를 바꾸게 되더라도 문법에 맞춰 쿼리 변경을 안 해도 됨 JPA가 알아서 DB 종류에 맞춰 번역해주기 때문 DB에서 '테이블'이라는 용어가 JPA에서는 '도메인' DB에서 'SQL'이라는 용어가 JPA에서는 'Repository' 테이블을 만들 때 적었던 컬럼 이름을 가지고 클래스 만들기 /*Course.java*/ package com.sparta.week02.domain; @NoArgsConstructor // 기본생성자를..

Spring Framework 2021.07.09

그레이들(Gradle)이란?

- Gradle 다른 사람들이 만들어둔 도구 다른 사람의 코드를 다운받고 적용하는걸 도와주는 도구 인터넷에 스프링 프로젝트를 배포할 수 있게 빌드를 도와줌 JAVA 라이브러리 다운 받는 곳 : https://mvnrepository.com/ 예시로 JSON In Java를 다운받을것임 Gradle 아래에 있는 것을 복사해서 프로젝트의 build.gradle 파일에 내용을 추가하면 라이브러리를 불러올 준비가 된것임 내용을 추가한 뒤 컴파일 하면 라이브러리가 추가된것임

Spring Framework 2021.07.07

브라우저에 JSON 데이터 나타내보기

* inteliJ / JAVA8 / * - JSON 데이터를 서버에서 전달받는 형식 데이터로 서버에 대해 응답하려면 RestController를 사용해야함 - Rest 서버의 응답이 JSON 형식이라는 것을 나타내는 것 * HTML, CSS 등을 주고받을 땐 Rest를 붙이지 않음 - Controller 클라이언트의 요청(request)을 전달받는 코드 (JSON만을 결과값으로 돌려주는 것을 RestController라고 부름) - @GetMapping("/courses") 브라우저에서 주소를 치는 행위를 "GET 방식으로 정보를 요청한다" 라고 함 http://localhost:8080 주소의 바로 뒤에 "/courses" 가 있으면 getCourses 메소드를 실행한다는 말 /*CourseContro..

Spring Framework 2021.07.07

JAVA) Getter, Setter

비밀번호나 주민등록번호 등 쉽게 바꾸면 안되는 중요한 정보들이 존재함 자바 클래스는 밖에 드러내도 되는것들을 public, 함부로 바꾸면 안되는 것들을 private로 구분해서 나타냄 Getter & Setter를 사용해야함(중요한 정보들이니까 까다로운 방법을 택해야 한다고 생각) Getter : 값을 가져오는 메소드 / 메소드명은 get변수명 public 자료형 get변수명() { return this.변수명; } Setter : 값을 설정하는 메소드 / 메소드명은 set변수명 public void set변수명(자료형 변수명) { this.변수명 = 변수명; } package com.sparta.week01.prac; public class Course { public String title; publ..

Spring Framework 2021.07.07

JAVA) 클래스

- 객체지향 프로그래밍 프로그래밍을 현실 세계에 빗대어 체계적으로 생각해보는 발상 - 클래스 정보를 묶는 것 현실과 비슷한 개념(객체)을 나타내기 위한 자바의 도구 클래스 내 정보 : "멤버 변수" 라고 함 내가 이해하고 있는 클래스 클래스는 내가 필요한 자원(변수나 메소드 등)을 직접 만들어서 한 묶음(하나의 클래스)를 직접 정의하는 것 하나의 틀(하나의 클래스)을 만드는 것 내가만든클래스 aaaaa = new 내가만든클래스(); 정의한 클래스로 객체를 생성하면 내가만든 클래스라는 틀이 생기게 됨 클래스 안에 정의해놓은 변수나 메소드들을 사용할 수 있게 된것임 사용 방법은 aaaaa.________ 로 변수나 메소드를 호출함 내가만든클래스 bbbbb = new 내가만든클래스(); 새로 또 객체를 생성하..

Spring Framework 2021.07.07

JAVA) 조건문

- 조건문 boolean 타입을 활용하여 특정 경우일 때 명령을 내리는 문법 1) if(조건) { 조건이 참일 경우 실행 내용 } 2) if(조건) { 조건이 참일 경우 실행 } else { 조건이 거짓일 경우 실행 } 3) if(조건) { 조건이 참일 경우 실행 } else if() { 위의 조건이 거짓이고 else if의 조건이 참일 때 실행 } else if() { if 조건 거짓, 첫번째 else if 조건 거짓, 두번째 else if 참일 때 실행 } ... ... } else { 위의 모든 조건이 거짓일 때 실행 } package com.sparta.week01.prac; import java.util.ArrayList; import java.util.List; public class Prac..

Spring Framework 2021.07.06