시작하기 3-13까지 일단 따라해보다가, 이건 아닌 것 같아서 처음부터 다시 차근차근 이해하는 것을 목표로 공부하려 한다. 점프 투 스프링 부트 바로가기 들어가기 전 필요한 사전지식(https://wikidocs.net/160032) 자바 기초 지식 - 책 정
Gradle의 의존성 구성(Configuration)은 프로젝트에서 사용하는 라이브러리나 모듈 등의 의존성을 어떻게, 언제, 어디서 사용할지를 정의하는 설정을 말한다. 프로젝트가 컴파일되거나 실행될 때 필요한 요소들을 관리하고 조직화한다.Gradle의 의존성 구성을 통
롬복은 자바 클래스에 Getter, Setter, 생성자 등을 자동으로 만들어 주는 라이브러리로, 보일러플레이트를 줄이는 데 도움을 준다. 롬복을 사용하면 간결하고 가독성 있는 코드를 작성할 수 있다.👉🏻보일러플레이트 : 반복적으로 동일하게 작성되는 코드Lombok
스프링부트 애플리케이션에서 프로그램의 시작을 담당하는 파일은 <프로젝트명> + Application.java 파일이다. 스프링부트 프로젝트를 생성할때의 프로젝트명에 따라 프로젝트명Application.java 파일이 자동으로 생성된다.Application 클래스에
웹 서비스에서 데이터베이스를 사용하려면, SQL 쿼리를 알아야한다. 이 때, ORM(object relational mapping)을 이용하면 SQL 쿼리 문법 없이 자바 문법만으로 데이터베이스를 다룰 수 있다.자바 코드에서의 클래스는 데이터베이스 상에서 엔티티(Ent
엔티티는 자바에서의 클래스와 매핑되는 데이터베이스 상의 개념이다.클래스를 작성할 때 @Entity 어노테이션을 붙여 해당 클래스는 엔티티임을 명시해주어야 한다.다음은 엔티티의 속성에 적용할 수 있는 어노테이션 몇가지이다. 클래스의 필드를 작성할 때 붙이면 된다.@Id
데이터베이스에 데이터를 저장하거나 조회하는 등의 처리를 하기 위해서는 실제 데이터베이스와 연동하는 JPA 리포지토리가 필요하다.리포지토리는 엔티티에 의해 생성된 데이터베이스 테이블에 접근하기 위한 findAll, save와 같은 메서드들을 사용할 수 있도록 하는 인터페
JPA 쿼리 생성 규칙에 대해 알아보자.JpaRepository를 상속받은 리포지토리에서, findById 메소드는 이미 존재하므로 별 다른 선언이나 작성 없이 사용할 수 있다. 하지만 우리가 작성한 엔티티의 속성에 대해서는 기본으로 존재할 수 없다.따라서 우리는 fi
타임리프란 자바 기반의 서버 사이드 템플릿 엔진이다. 웹 애플리케이션 개발 시 동적인 HTML을 생성하는 데 사용되며 XML, JavaScript, CSS, 텍스트 등 다양한 형식의 템플릿을 처리할 수 있다.👉🏻서버 사이드 템플릿 엔진서버에서 데이터를 받아와 특정
HTTP 프로토콜을 기반으로 웹 서버와 클라이언트가 데이터를 주고받는 과정에서, 요청 처리 방식을 변경하는 메커니즘이다.리다이렉트는 웹 서버가 클라이언트에게 다른 페이지로 이동하라는 지시를 내리는 것이다. 서버는 클라이언트에게 HTTP 상태 코드 3xx와 함께 새로운
타임리프에서 링크의 주소를 표기할 때 th:href 속성을 사용한다. th:href처럼 URL 주소를 나타낼때는 반드시 @{ }사이에 입력해야 한다. 또한 문자열과 ${} 값이 조합되어 만들어진 경우에는 다음과 같이 좌우에 | 문자를 포함하여 @{| |} 사이에 작성해
@PathVariable은 스프링 프레임워크에서 제공하는 어노테이션으로, URL의 일부를 메서드 매개변수로 받아오는 데 사용한다. 이를 통해 동적인 URL 패턴을 처리할 수 있다.사용자의 ID를 URL로부터 받아와서 해당 사용자의 정보를 조회하는 경우, 다음과 같이 컨
스프링 프레임워크에서 제공하는 어노테이션 중 하나로, HTTP 요청 파라미터 값을 컨트롤러 메서드의 매개변수로 바인딩하는 데 사용한다.검색어를 입력받아 해당 검색어에 맞는 결과를 반환하는 경우, 다음과 같이 @RequestParam을 사용한다.위 코드에서 @Reques
템플릿을 작성할 때 템플릿 상속을 이용하면 공통으로 필요한 부분을 재사용 할 수 있어 템플릿 파일마다 중복으로 작성하지 않아도 된다.레이아웃을 먼저 작성하고, 빈 칸을 뚫어놓아 각각 파일의 내용을 채워넣는 개념으로 생각할 수 있다.👉🏻레이아웃은 웹 페이지의 공통 요
Class는 HTML 요소에 스타일이나 식별자를 적용하기 위해 사용되는 속성이다.요소에 스타일을 적용하기 위해 사용되는 클래스로, CSS 스타일 시트에서 선택하여 해당 요소에 스타일 규칙을 적용할 수 있다. .text-red: 텍스트를 빨간색으로 스타일링.bg-blue
class="form-control"는 <textarea> 요소에 대한 스타일과 동작을 정의하는 클래스로 부트스트랩(Bootstrap)과 같은 CSS 프레임워크에서 자주 사용되는 클래스 중 하나이다.form-control 클래스를 <textarea> 요소에
Spring Boot Validation 라이브러리를 설치하면 사용자가 입력한 값을 검증할 수 있다.@Size : 문자 길이를 제한@NotNull : Null 불가@NotEmpty : Null 또는 빈 문자열("") 불가@Past : 과거 날짜만 입력 가능@Future
Spring Boot Validation 라이브러리를 설치하면 사용자가 입력한 값을 검증할 수 있다.@Size : 문자 길이를 제한@NotNull : Null 불가@NotEmpty : Null 또는 빈 문자열("") 불가@Past : 과거 날짜만 입력 가능@Future
BindingResult는 스프링 프레임워크에서 사용되는 클래스로, 데이터 바인딩과 관련된 결과를 저장하는 데 사용된다. 주로 폼 데이터의 유효성 검증 결과를 담고 있다.BindingResult 매개변수는 @Valid 애너테이션으로 검증이 수행된 결과이며 항상 @Val
alert 클래스는 주로 경고 메시지나 알림 메시지를 표시하기 위해 사용되는 Bootstrap CSS 클래스이다.일반적으로 경고 메시지를 강조하기 위해 사용되며, 다양한 색상과 스타일을 제공한다.alert 클래스의 서브 클래스 중 자주 사용하는 클래스는 다음과 같다.a
btn 클래스는 버튼을 스타일링하기 위해 사용되는 Bootstrap CSS 클래스이다.주로 사용되는 btn 클래스의 서브 클래스는 다음과 같다.btn-primary:주요한 동작을 나타내는 버튼으로, 일반적으로 파란색 배경과 흰색 텍스트로 표시된다. btn-seconda
Paging 모든 데이터가 한 페이지에 표시되도록 설계해서는 안된다. 페이징을 통해 한 페이지당 보이는 데이터의 양을 제한할 것이다. 이 때, 라이브러리를 추가로 설치하지 않고 이미 설치해두었던 JPA 관련 라이브러리를 사용한다. 페이징에 사용되는 클래스들은 다음과