본문 바로가기

Backend Develop/Spring Framework

(21)
[JPA] JPA와 ORM과의 관계 JPA란 자바 ORM 기술에 대한 API 표준 명세를 의미합니다. JPA는 ORM을 사용하기 위한 인터페이스를 모아둔 것이며, JPA를 사용하기 위해서는 JPA를 구현한 Hibernate, EclipseLink, DataNucleus 같은 ORM 프레임워크를 사용해야 합니다. 참고사이트 https://victorydntmd.tistory.com/195 [Spring JPA] ORM과 JPA 그리고 Hibernate 2020.03.06 수정 1. JPA ( Java Persistent API )와 ORM ( Object Relational Mapping ) JPA JPA란 자바 ORM 기술에 대한 API 표준 명세를 의미합니다. JPA는 ORM을 사용하기 위한 인터페이스를 모아둔 것이며, J.. victo..
[Spring] Log4j2를 Profile에 따라 다르게 사용하기 SpringBoot SpringBoot의 경우 소스코드를 직접 구현하거나 수정할 필요없이 간단한 설정으로 처리 가능하다 resources의 application-{Profile}.properties 파일을 추가하면 프로파일에 해당하는 설정정보를 가져온다. 가령, application-dev.properties 라는 파일이 있다면 현재 프로파일이 dev 인 경우 해당 파일을 읽는다. application-prd.properties 가 있다면 프로파일이 prd 인 경우 해당 파일을 읽는다. 그러면 프로파일에 맞는 속성파일에 log4j 설정파일 경로를 설정한다. logging.config=classpath:log4j2-dev.xml ServletContainerInitializer 서블릿 기반 웹이면 Serv..
[Spring] Request Mapping MediaType 설정 Mapping을 할때 우리는 받고싶은 데이터를 강제를 함으로써 오류상황을 줄일 수 있다. 이걸 위해 사용하는 것 중 하나가 Media Types이다. 들어오는 데이터와 나가는 데이터를 정하여 처리를 할 수 있다. consumes는 들어오는 데이터 타입을 정의할 때 사용하고 produces는 반환하는 데이터 타입을 정의할 때 사용한다. 예를 들어서 내가 json타입을 받고 싶다면 아래와 같이 처리가 가능하다. @PostMapping(path = "/pets", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) public void addPet(@RequestBody Pet pet) { // .....
[JPA] @OneToMany/@ManyToOne Join Annotation 사용법 연관 관계 매핑 테이블 간의 연관 관계가 있을 때, 객체지향스럽게 사용하는 방법을 제공한다. 기존의 데이터베이스에서는 외래 키를 사용하나 JPA에서는 객체를 참조하는 방식으로 연관 관계를 매핑 할 수 있다. 테이블 중심으로 모델링을 하게 되면, 외래 키를 가지고 데이터를 찾기 때문에 객체지향스럽지가 못하기 때문에, 객체 중심으로 관계를 매핑하고 모델링하는 것이 중요하다 본 포스팅에서 다루게 될 용어는 아래와 같다. 방향 : 단방향, 양방향 다중성 : 다대일, 일대다, 일대일, 다대다 연관관계의 주인 : 객체 양방향 연관관계는 관리 주인이 필요 일대다 [1:N] 일대다 관계에서는 일이 연관관계의 주인이다. 일 쪽에서 외래키를 관리하겠다는 의미가 된다. 결론을 먼저 말하자면, 표준스펙에서 지원은 하지만 실무..
[Spring]Lazy Initailization의 개념과 이해 기본적으로 Spring IOC Container는 어플리케이션을 시작할 때 모든 Bean을 초기화합니다. 이 과정에서 Bean 초기화에 실패할 수도 있는데 이로 인해 어플리케이션 시점에 장애를 사전에 발견할 수 있습니다. 반면, 어플리케이션 시작하는 과정에 모든 Bean을 초기화하는 경우, 부팅하는데 시간이 많이 걸릴 수 있다는 단점이 있습니다. Lazy Initialization 활성화하는 방법 1. spring.main.lazy-initialization 설정 SpringBoot의 설정파일인 application.properties(또는 appliation.yml)에 spring.main.lazy-initailization의 값을 true로 설정하면 모든 Bean을 Lazy Initialization..
[Spring] Spring을 사용하는 이유 참조 : https://galid1.tistory.com/493?category=769011 Spring - Spring을 왜 사용하나요?(DI) - 1 Spring을 왜 써야할까 Spring과목 학원 수강도하고 따로 Spring Boot와 Docker, Kubernetes를 이용해 Microservices Architecture로 서비스를 구축하는 프로젝트를 진행했지만 Spring에 대한 뚜렷한 개념이 잡혀있.. galid1.tistory.com
[Spring] Spring Container에 대한 이해 참고 : https://velog.io/@ehdrms2034/Spring-MVC-Application-Context.xml
[Spring] Spring Cloud Function 함수 참조 : https://binux.tistory.com/61?category=907689 Spring cloud function 이란? 이번 글에서는 Spring cloud function에 대해 알아보겠습니다 🙂 이번 글을 작성하면서 좀 헷갈리기도 하고 어려운 부분이 많았습니다. 여러 이유가 있는데요. 일단 자료가 많이 부족하구요. 문서도 binux.tistory.com