Skip to content

akfrdma0125/SpringBoot3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

스프링 부트 3 백엔드 개발자 되기 자바편

JPA

초기 데이터셋 세팅

관념적으로 다음과 같은 파일에 작성

데이터 정의어(DDL): schema.sql
데이터 조작어(DML): data.sql

순서가 schema.sql / data.sql / ddl-auto 로 진행
sql 문에 대한 로그가 별도로 남지는 않음

Entity Manager

엔티티를 관리해 데이터베이스와 애플리케이션 사이에서 객체를 생성, 수정, 삭제하는 등의 역할

엔티티 매니저 팩토리가 하나의 요청에 대해 하나의 엔티티 매니저가 할당
스프링 부트는 기본적으로 빈을 하나만 생성해서 공유하므로 동시성 문제가 발생할 수 있음
➡️ 실제 엔티티 매니저가 아니라 프록시 엔티티 매니저를 사용(트랜잭션은 실제 엔티티 매니저로 예외)

💡 기본적으로 제공되는 JPARepository는 엔티티 매니저를 직접 액세스할 수 없음
➡️ 직접 커스텀 레포지토리를 생성해서 액세스 가능

테스트

JUnit

자바 언어를 위한 단위 테스트 프레임워크(메서드 단위)

@SpringBootTest: @SpringBootApplication이 있는 클래스를 찾고, 그 클래스에 포함되어 있는 빈을 찾은 다음 테스트용 애플리케이션 컨텍스트 생성
@AutoConfigureMockMvc: MockMvc 생성하고 구성하는 애너테이션, 요청 및 전송, 응답 기능을 제공하는 유틸리티 클래스

직렬화

자바 시스템 내부에서 사용되는 객체를 외부에서 사용하도록 데이터를 변환하는 작업

AssertJ

JUnit 함께 사용해 가독성을 확 높여주는 라이브러리

Assertion.assertEquals(실제 값, 기댓값)
➡️ 가독성이 떨어짐
assertThat(기댓값).isEqualTo(실제 값)
➡️ 두 값의 구분으로 가독성 증가

Rest Assured

템플릿 엔진

스프링 서버에서 데이터를 받아 우리가 보는 웹 페이지 (html) 상에 그 데이터를 넣어 보여주는 도구
대표적인 예 : JSP, 타임리프, 프리마커 ...

타임리프

스프링이 권장하고 있는 템플릿 엔진

스프링 시큐리티

만약 스프링 시큐리티 관련해 WebSecurityConfig 설정을 하지 않았다면, 서버에 접속시 모든 url에 대해서 로그인 페이지가 나오게 된다.
인증이 필요한 상태이기 때문이다.

UserDetails

사용자의 인증 정보를 담아두는 인터페이스

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published