스프링 부트3 33

4.1~4.2 롬복을 활용해 리팩터링하기(게시판 만들기 / 길벗 코딩 자율학습단)

롬복 => 코드를 간소화 해주는 라이브러리 로깅 => 롬복에 탑제된 기능 중 하나로 println보다 향상된 성능으로 유사한 기능을 함/ println + 기록(시간등) 롬복 설치하기 포로젝트 > src > build.gradle에 들어가 dependcies에 아래 두 줄 추가 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' 2. 편집기에 나타난 코끼리 모양의 새로고침 아이콘 클릭(설치시작) 3. 설치가 끝나면 help > Find Action.. > plugins 클릭 후 lombok 검색 Install 리팩터링 @AllArgsConstructor 어노테이션 => 자동으로 필드 안의 모든 매개변수를..

3.4 DB 데이터 조회하기(게시판 만들기 / 길벗 코딩 자율학습단)

DB 데이터 조회하기 1. H2 DB 접속하기 src > main > resources > application.properties 에 들어가 spring.h2.console.enabled=true작성(H2 DB에 웹 콘솔로 접근이 가능하도록 해줌) localhost:8080/h2-console 페이지 접속 인텔리제이에 접속하여 ctrl + f 키롤 눌러 JDBC검색 => JDBC URL 복사 붙여넣기 후 접속 2. 데이터 조회하기 INSERT INTO 테이블명(속성명1,속성명2,속성명3, ---) VALUES(값1, 값2, 값3, ---); => SQL문으로 데이터 삽입 SELECT * FROM 테이블명 => 테이블에 있는 모든 데이터 값 확인

It 도서 리뷰(스프링 부트3 자바 백엔드 개발 입문)

길벗 출판사에서 출시한 스프링 부트3(백엔드) 입문도서 입니다. 스프링 부트3를 이용하여 인텔리제이로 게시판을 만드는 내용이 주로 다루어집니다. 책 초반에 소개하고 있는것 처럼 스프링 부트를 처음 접하는 사람도 따라갈 수 있도록 자세하게 설명이 되어있습니다. 저도 자바만 조금 해보고 스프링 부트는 처음인데 큰 어려움 없이 진행중입니다. 책의 구성은 "개념설염 > 실습 > 1분퀴즈 > 마무리(part 정리)/셀프체크" 순서로 구성되어 개념을 이해한 후 실습과 퀴즈를 통해 학습하고 요약정리를 보며 마무리 할 수 있습니다. 이 책을 통해 크게 배울 수 있는 내용으로는 "MVC, JPA, REST API" 등이 있습니다. 또한 이책의 저자이신 혹팍님께서 유튜브에 무료 강의(part4까지 무료 이후는 유료)(인프..

인텔리제이(Intellij) 한글 깨짐 현상 해결 방법

인텔리제이에서 한글이 깨진 채 출력될 때 해결 방법 1. File > Setting > Editor > File Encodings로 이동 후 Global Encoding, Project Encoding, Default encoding for properties files 를 모두 UTF-8로 설정 후 Apply 후 확인 2. Help > Edit Custon VM Options 선택 후 아래 코드 추가 -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8 3. 인텔리제이 종료 후 재시작 / 확인해보기

Intellij error 2023.11.22

3.3 DTO를 데이터베이스에 저장하기(게시판 만들기 / 길벗 코딩 자율학습단)

데이터베이스(DB, Database) => 데이터를 관리하는 창고 / 행과 열로 구성된 테이블에 저장해 관리 대표적인 DB 프로그램 => MySQL, 오라클, 마리아DB 등등 사용할 DB 프로그렘 => H2 DB DB에서 자바 언어를 이해하게 해주는 것 => JPA(Java persistence API) JPA의 핵심 도구 2가지 엔티티(entity) : 자바 객체를 DB가 이해할 수 있도록 만들어줌 / 이를 기반으로 테이블 작성 리파지터리(repository) : 엔티티가 DB 속 테이블에 저장 및 관리될 수 있게 하는 인터페이스 DTO를 데이터베이스에 저장하기(방법/과정) 1. DTO를 엔티티로 변환하기 프로젝트 아래에 엔티티를 관리하기 위한 entity패키지 만들기 새 클래서 생성(Article) ..

3.1~3.2 폼 데이터를 DTO로 받기(게시판 만들기 / 길벗 코딩 자율학습단)

폼 데이터 HTML 요소인 태그에 실려 전송되는 데이터 웹 브라우저를 이용할 때 서버로 데이터를 보낼때 주로 사용함 ex) 로그인 정보(아이디, 비밀번호)등 DTO 태그에 실어 보내진 데이터들이 담기는 공간(서버의 컨트롤러) Controller로 폼데이터를 받아 최종적으로 DB(Database)에 저장함 폼 데이터를 DTO로 받는 방법(과정/순서) 1. 입력 폼 만들기 templates > Directory > New > File 을 통해 mustache 파일(뷰페이지) 생성 태그를 통해 입력받을 페이지 작성 입력 받은 정보를 어디로 보낼지는 action 속성으로 어떻게 보낼지는 method 속성으로 설정 DTO와 연결될 속성 추가(title & content) 2. 컨트롤러 만들기 프로젝트 > cont..

2.4 뷰 템플릿 페이지에 레이아웃 적용하기(게시판 만들기 / 길벗 코딩 자율학습단)

레이아웃 => 화면에 요소를 배치하는 일 헤드-푸터 레이아웃 => 상단 헤드에 사이트를 안내하는 네비게이션을 넣고 하단 푸터에 사이트 정보를 넣는 기본적인 배치 => 헤드와 푸터 사이에 핵심 내용인 콘텐트를 배치함 /hi 페이지에 헤더-푸터 레이아웃 적용하기 부트스트랩 홈페이지(https://getbootstrap.kr/) 접속하기 V5.0.2 선택 후 스타터 템플릿 복사 > greetings.mustache 파일 내용 지운 후 붙여넣기 greetings.mustache 페이지의 본문 영역을 3개의 레이아웃으로 나눠기(header 부분/ content 부분 / footer 부분) 부트스트랩 홈페이지(https://getbootstrap.kr/) 에 'navbar' 입력 후 뜨는것 선택 후 코드 복사 복사..

2.3 MVC의 역할과 실행 흐름 이해하기(게시판 만들기 / 길벗 코딩 자율학습단)

MVC의 실행흐름 => 컨트롤러가 클라이언트의 요청을 받고, 뷰가 최종 페이지를 만들고, 모델이 최종 페이지에 쓰일 데이터를 뷰에 전달 localhost:8080/hi 의 실행과정 이 파일이 컨트롤러임을 선언 클라이언트로부터 "/hi"라는 요청을 받음 "/hi"라는 요청을 받음과 동시에 niceToMeetYou()메서드를 수행 뷰 템플릿 페이지에서 사용할 변수를 등록하기 위해 모델 객체를 매개변수로 가져옴 모델에서 사용할 변수를 등록 변수값에 따라 서로 다른 뷰 템플릿 페이지가 출력 메서드 수행 결과로 greetings.mustache 파일을 변환 서버가 templates 디렉터리에 있는 해당 뷰 템플릿 페이지를 찾아 웹 브라우저로 전송 위와 같은 방법으로 " localhost:8080/bye" 작성(2..

2.2 MVC 패턴을 활용해 뷰 템플릿 페이지 만들기(게시판 만들기 / 길벗 코딩 자율학습단)

MVC 패턴을 활용해 뷰 템플릿 만드는 순서 1. Mustache 파일 만들기 2. Controller 만들고 실행하기 3. 모델 추가하기 1. Mustache 파일 만들기 src>main>resources>templates(우클릭)>New>File 후 "파일명.mustache"로 파일 만들기 Install Handlebars/Mustache plugin을 클릭해 머스테치 플러그인을 설치하기 doc를 친 후 tab키 누를 시 기본 HTML코드가 작성됨 본문()에 원하는 글 적기() 2. Controller 만들고 실행하기(Mustache에서 만든 템플릿을 보이게 하기 위함) src>main>java>프로젝트(com.example.firstproject)(우클릭)>New>package 후 패키지 만들기 패..

2.1 뷰 템플릿과 MVC 패턴(게시판 만들기 / 길벗 코딩 자율학습단)

뷰 템플릿 => ppt템플릿과 비슷함 / 웹 사이트에서 변수의 값에 따라 일정부분만 값이 달라지는 화면이 있을 경우 프론트엔드로는 각 변수에 해당하는 값을 모두 설정해주어야 하지만 뷰 템플릿을 이용하면 변수의 값만 바꿔가며 사용가능 MVC 패턴 M(Model) : 데이터를 관리하는 역할 V(View) : 웹 페이지를 보여주는 화면 C(Controller) : 클라이언트의 요청에 따라 서버에서 이를 처리하는 역할 이렇듯 웹 화면을 보여주기 위해 역할을 나누어 관리하는 기법