springboot3 5

스프링부트3 백엔드개발자되기 / 5장 데이터베이스 조작이 편해지는 ORM

데이터베이스DBMS(Database managements system)데이터베이스 관리 및 운영MySQL, 오라클관계형 DBMS(RDBMS)테이블 형태로 이루어진 데이터 저장소각 행은 고유의 키(아이디)를 가지고 있고 값들이 들어간다.ORM(object-relational mapping)자바의 객체와 데이터베이스를 연결하는 프로그래밍 기법SQL을 직접 작성하지 않고 데이터베이스에 접근JPA(Java Persistence API)자바에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스사용시 ORM 프레임워크 사용(hibernate, 내부적으로는 JDBC API 사용)데이터베이스- JDBC- 하이버네이트- JPA- 스프링데이터JPA- 애플리케이션엔티티(Entity)데이터베이스의 테이블과 매핑되는 객체..

스프링부트3 백엔드개발자되기 / 4장 스프링 부트 3와 테스트

테스트 코드test 디렉토리에서 작업테스트 코드 패턴given-when-then 패턴given테스트 실행 준비new 생성자when테스트 진행final Long id = service.save(생성변수명)then테스트 결과 검증클래스 = service.findById(id).get()assertThat(클래스.get변수()).isEqualsTo(변수)테스크 도구JUnit자바 프로그래밍 언어용 단위 테스트 프레임워크작은 단위로 검증하며 단위는 메서드가 된다.@Test 어노테이션으로 메소드를 호출할 때마다 새 인스턴스를 생성, 독립 테스트 가능Spring Test & Spring Boot Test스프링 부트 애플리케이션을 위한 통합 테스트 지원Mockito테스트에 사용할 가짜 객체인 목 객체를 쉽게 만들고, ..

스프링부트3 백엔드개발자되기 / 3장 스프링 부트 3 구조 이해하기

스프링 부트 3 구조프레젠테이션 계층Controller 구현HTTP 요청을 받고 이 요청을 비즈니스 계층으로 전송하는 역할비즈니스 계층Service 구현모든 비즈니스 로직(서비스 만들기 위한 로직) 처리퍼시스턴스 계층Repository 구현모든 데이터베이스 관련 로직 처리데이터베이스에 접근하는 DAO 객체 사용할 수도 있다.데이터베이스스프링 부트 프로젝트 디렉터리main실제 코드 작성 공간프로젝트 실행에 필요한 소스 코드, 리소스 파일 존재javaresourcestemplatesHTML 같은 뷰 파일 생성staticJS, CSS, 이미지와 같은 정적 파일 생성application.yml스프링 부트 설정 파일서버가 실행되면 자동으로 로딩데이터베이스의 설정 정보, 로깅 설정 정보 등 존재, 직접 설정 정의t..

스프링부트3 백엔드개발자되기 / 2장 스프링 부트 3 시작하기

스프링 부트스프링 코어, 스프링 MVC의 모든 기능을 자동으로 로드하여 개발 환경 구성자체적으로 WAS를 갖고있다. (톰캣 등)WAS: 웹 어플리케이션을 실행하기 위한 장치IoC(Inversion of Control)제어의 역전다른 객체를 직접 생성하는 것이 아니라 외부에서 관리하는 객체를 가져와 사용하는 것스프링에서 객체들을 관리하기 위해 사용예로 new로 객체 생성이 아닌, private A a; 처럼 받아오는 것DI(Dependency Injection)의존성 주입IoC을 구현하기 위해 사용하는 방법이며, 스프링 컨테이너에서 객체를 주입받아 사용예로 @Autowired 어노테이션은 스프링 컨테이너에 있는 빈(스프링 컨테이너에서 관리하는 객체)을 주입하는 역할이며 private A a; 코드 바로 위..

스프링부트3 백엔드개발자되기 / 1장 자바 백엔드 개발자가 알아두면 좋은 지식

클라이언트서버로 요청하는 프로그램을 모두 일컬어 말한다.예를 들어 웹 브라우저가 대표적인 클라이언트서버클라이언트의 요청을 받아 처리하는 주체데이터베이스데이터 저장소MySQL, 오라클 등 데이터베이스 관리 시스템이 있다.RDB(Relational Database)관계형 데이터베이스행과 열로 이루어진 테이블로 관리하며 primary key를 사용해 각 행을 식별한다.각 테이블 간의 관계를 지을 수 있다.SQL(Structured Query Language)쿼리, 데이터 검색을 하는 언어NoSQLNot Only SQL의미로 많이 사용데이터베이스의 성능을 높이기 위하여 등장했다.다이나모디비, 카우치베이스, 몽고디비 등 존재라이브러리애플리케이션 개발에 필요한 기능인 클래스, 함수 등을 모아놓은 코드의 모음프레임워..

728x90