spring boot 25

jpa - 엔티티 매핑

객체와 테이블 매핑 @Entity - jpa가 관리한다. @Table 기본 생성자는 필수 ddl auto create - drop하고 생성 create-drop - create했다가 끝나면 drop한다. update. - 변경 부분만 반영한다. validate. - 기존 db와 비교해서 다르면 애러 none ****주의 개발 초기에는 create , update 테스트 서버는 update, validate 스테이징 운영서버는 validate 또는 None 필드와 칼럼 @Column(name ="", length = 10) - 유니크 조건을 여기다가 걸 수 있지만 이름을 줄 수 없으므로 @Table에 줌 => 보통 애플리케이션: memberId db: member_id => spring boot가 알아서 ..

spring의 dispatcher-servlet와 전체적인 흐름

dispatcher servlet 이 해당 애플리케이션으로 들어오는 모든 요청을 핸들링 해주고 공통 작업을 처리하면서 편리하게 이용이 가능하다!! ** 예전에는 모든 서블릿에 대해 URL 매핑을 web.xml에 해줬어야 한다고 한다. web.xml설정 해줬을 경우 dispatcher servlet의 경우 특징 정적 자원에 대한 요청과 애플리케이션에 대한 요청을 분리했다. /apps의 url로 접근하면 dispatcher servlet이 담당 /resourecs의 url로 접근하면 dispatcher servlet이 담당하지 않는다. spring mvc request lifecycle의 전체적인 라이프 사이클을 보겠습니다. 사용자가 웹 브라우저를 통해 요청하면 처음에 filter를 타게됨 그리고 dispa..

JPA - 기본 개념과 영속성

ORM이란 object relational mapping 즉 객체 관계 매핑이다. 자바에서 데이터베이스 관계들을 객체로 설계하고 데이터베이스에서는 관계형 데이터 베이스로 설계해서 매핑시켜줌 JPA란 java persistence API의 약자 자바 진영의 ORM 표준으로 인터페이스 모음 JPA를 구현한게 Hibernate JPA 특징 ** JPA의 모든 데이터 변경은 트랜잭션 안에서 실행되어야 합니다. 엔티티 매니저 팩토리와 엔티티 메니저의 관계 엔티티 매니저 팩토리가 앤티티 매니저들을 생성해서 db 커넥션 그리고 엔티티매니저에는 영속성컨텍스트란게 존재한다. 영속성은 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할 비영속 준영속 em.detach(member) 영속 em..

spring 기본 개념 - IOC, DI

스프링 프레임워크란? ** 애터프라이즈급 애플리케이션: 지속적인 데이터 처리와 막대한 양의 데이터 처리와 많은 사람이 한번에 데이터에 접근하는 등의 큰 규모의 환경입니다. 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크입니다. 그리고 앤터프라이즈급 애플리케이션을 개발하기 위해 모든 기능을 종합적으로 제공하는 경량화된 솔루션입니다. 1. Ioc(inversion of controll) → 제어의 역전 : 스프링이 의존성에 대한 주도권을 가짐 제어의 역전으로 객체의 의존관계에 대한 책임을 제 3자에게 위임하는 것을 IOC 라고 함 → 즉 직접적으로 의존성을 만들지 않고 외부에서 의존성을 가져오는 경우 스프링에서는 Spring Application Context 라는 컨테이너에서 컴포넌트들을 생성 및 관리..

spring 에서의 LocalDateTime request와 response

https://balldev.tistory.com/29 mysql 및 maria db timezone 설정 변경 및 확인 일단 db설정하기 전에 리눅스 시간부터 확인해보겠습니다 리눅스 CLI(Command-line Interface) 환경에서는 몇 가지 명령어로 시간을 확인할 수 있습니다. date -> 2021. 09. 28. (화) 10:52:04 KST timedatectl Lo.. balldev.tistory.com 스프링에서 날짜 관련 처리를 할 경우 애러나는 것과 날짜 포맷팅에 관련해서 적어보겠습니다. 데이터베이스에서 날짜데이터를 로드 할 때 날짜형식의 string 형태로 구성하여 전달하는 경우가 있다.(2021-09-29 12:00:00) 처럼 말이다. 하지만 개발자마다 누군가는 포맷팅을 하..