목록Spring/Spring Boot (21)
충분히 쌓여가는
ORM(Object-relational mapping) 자바의 객체와 데이터베이스를 연결하는 프로그래밍 기법 SQL을 몰라도 자바 언어로만 데이터베이스에 접근해서 원하는 데이터를 받아올 수 있다 즉, 객체와 데이터베이스를 연결해 자바 언어로만 데이터베이스를 다룰 수 있게 하는 도구 ORM 장점 SQL을 직접 작성하지 않고 사용하는 언어로 데이터베이스에 접근할 수 있다 객체지향적으로 코드를 작성할 수 있기 때문에 비즈니스 로직에만 집중할 수 있다 데이터베이스 시스템이 추상화되어 있기 때문에 MySQL에서 PostgreSQL로 전환한다고 해도 추가로 드는 작업이 거의 없다(데이터베이스 시스템에 대한 종속성이 줄어든다) 매핑하는 정보가 명확하기 때문에 ERD에 대한 의존도를 낮출 수 있고 유지보수할 때 유리하..
테스트 코드는 test 디렉터리에서 작업 given-when-then 패턴 테스트 코드를 세 단계로 구분해 작성하는 방식 given: 테스트 실행을 준비하는 단계 when: 테스트를 진행하는 단계 then: 테스트 결과를 검증하는 단계 @DisplayName("새로운 메뉴를 저장") @Test public void saveMenuTest() { // given: 메뉴를 저장하기 위한 준비 과정 final String name = "아메리카노"; final int price = 2000; final Menu americano = new Menu(name, price); // when: 실제로 메뉴를 저장 final long savedId = menuService.save(americano); // then..
build.gradle 파일 dependencies { // 생략 // 스프링 데이터 JPA implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.h2database:h2' // 인메모리 데이터베이스 compileOnly 'org.projectlombok:lombok' // 롬복 annotationProcessor 'org.projectlombok:lombok' } 스프링 부트용 JPA인 스프링 데이터 JPA 로컬 환경과 테스트 환경에서 사용할 인메모리 데이터베이스 H2 반복 메서드 작업을 줄여주는 라이브러리인 lombok
main 실제 코드를 작성하는 공간 프로젝트 실행에 필요한 소스 코드나 리소스 파일은 모두 이 폴더 안에 존재 test 프로젝트의 소스 코드를 테스트할 목적의 코드나 리소스 파일 존재 build.gradle 빌드를 설정하는 파일 의존성이나 플러그인 설정 등과 같이 빌드에 필요한 설정을 할 때 사용 settings.gradle 빌드할 프로젝트의 정보를 설정하는 파일 resources 내부 디렉터리 및 파일 templates: HTML과 같은 뷰 파일이 생성될 디렉터리 static: JS, CSS, 이미지와 같은 정적 파일을 넣은 디렉터리 application.yml: 데이터베이스의 설정 정보, 로깅 정보 등이 들어갈 수 있고, 직접 설정 시 사용, 스프링 부트 서버가 실행되면 자동으로 로딩되는 파일