spring boot-기본개념

jadive study·2022년 10월 20일
0

참고-코드로 배우는 스프링 부트 웹프로젝트

part1스프링 부트, thymeleaf , spring Data JPA

스프링 프레임워크는 2000년대 이후로 가장 확실한 경량 프레임워크이다.

lambok플러그인

테스크코드

-생성된 스프링 부트 프로젝트의 경우 이미 테스트 환경이 갖춰져 있기 때문에 별도의 설정 없이 프로젝트를 실행할 수 있다.

-작성되어 있는 tests파일에서 @Test가 있는 메서드를 선택해서 실해해볼 숭 도 있다

-테스트 환경에서 Lambok 활용하기

-간단한 컨트롤러 실습
controlller 패키지를 추가하고samplecontroller클래스를 추가한다

스프링 부트를 단독으로 실행 가능한 파일로 만들기
-기존 스프링은 프로젝트를 실행하기 위해서는 Tomcat과 같은 별도의 was가 반드시 필요하고, 이를 배포하는 과정이 순반되었다.

여러항목중에서 build항목을 살펴보면 내부에 bootjar라는 항목이 있는 것을 확인할 수 있다 ,

테스트를 위해서 만들어진 jar파일을 복사해서 다른 외부폴더에 추가한다.

스프링 부트 예제에서 필요한 Marina데이터 베이스를 설정하고, spring Data JPA라는 라이브러리를 이용해서 JPA기술에 대해서 학습합니다

데이터베이스를 위한 스프링부트설정

Auto configuration이라고 불리는 자동 설정 기능이 있다
자동 설정 기능이란 간단히 말해 특정한 라이브러리가 있다면 이에 관련된 설정을 자동으로 추가하는 것이다 현실적으로는 현재 프로젝트의경우 'spring Data JPA'라는 의존성을 추가했기 때문에 이와 관련된 설정이 자동으로 추가된다.

Spriing Data JPA의 소개

JPA는 JAVA언어를 통해서 데이터 베이스와 같은 영속 계층을 처리하고 자하는 스펙이다. JPA를 이해하기 위해서 우선은 ORM(object-Relational Mapping)이라는 기술에 대해서 먼저 설명해야한다.

ORM과 JPA
ORM은 단어에서 보듯이 객체지향과 관련이 있다.
객체지향 패러다임을 관계형 데이터베이스에 보존하는 기술 ORM의 시작은 아주 단순해서 객체지향의 구조가 관계형 데이터베이스와 유사하다는점에서 시작된다.

Hibernate

spring data jpa와 jpa
스프링 부트는jpa의 구현체 중에서 'Hibernate'라는 구현체를 이용한다

엔티티 클래스와 JPAREpository
-repository는 spring data jpa에서 제공하는 인터페이스로 설계하는데 스프링 내부에서 자동으로 객체를 생성하고 실행하는 구조라 개발자 이방에서는 단순히 인턴페이스를 하나 정의하는 작업만으로도 충분하다.

엔티티클래스생성
entity패키지를 추가하고, Memo라는 클래스를 정의한다

memo클래스는 엔티티 클래스로 마치 데이터베이스의 테이블과 같은 구조를 작성한다

@Entity
엔티티 클래스는 spring Data JPA에서는 반드시 @Entitu라는 어노테이션을 추가해야만 한다. @ntitu는 해당 클래스가 엔티티를 위한 클래스이며, 해당 클래스의 인스턴스들이 JPA로 관리되는 엔티티 객체라는 것을 의미한다.

@Table
Entity어노테이ㅕㄴ과 같이 사용할 수 있는 어노테이션으로 말 그대로 데이터베이스상에서 엔티티 클래스를 어떠한 테이블로생성할 것인지에 대한 정보를 담기 위한 어노테이션 이다.
예를 들어 @Table(name='t_memo")와 같이 지엉하는 경우에는 생성된느 데티블의 이름이 't_memo'테이블로 생성된다

profile
개발 메모창고

0개의 댓글