본문 바로가기

728x90

Backend

(70)
[Spring Boot] Spring Boot 의 특징 Spring Boot 관련 개념 1. Spring Boot 를 왜사용하는지? 1) 생산성 2) Time to Market - 적시에 출시하는게 중요하기 때문. 2. Spring Boot 의 장점? 1) 수동적인 설정의 양을 최소화 auto-configuration - 관련된 클래스가 있음. props files & JAR classpath을 기반으로해서 자동으로 설정함. xml 파일을 만들어 줄 필요가 없다. 2) Dependency conflicts를 해결 해준다. 라이브러리간의 버전 충돌이 발생 할 수 있는데 관련된걸 세팅 3) embedded server 제공 애플리케이션 안에 내장 서버를 가지고 있어서 별도 설치 없이 빠르게 시작 할 수 있다. 3. Spring Boot 와 Spring MVC, ..
[Spring] 스프링에서의 Restful web Service Restful web service를 스프링에서 어떻게 구현할 수 있을까? 기존의 Spring 방식은 밑의 방식과 같다. request를 받으면 Dispatcher Servlet이 받고, Handler Mapping을 통해 어떤 컨트롤러로 보낼지 결정해서 Service, DAO를 거쳐 View를 만들어 다시 Response로 Client로 보내주는 방식이였다. Controller는 단순히 object(객체)를 return한다. 이 object data(객체데이터)가 json/xml 형태로 HTTP response 메시지에 담겨서 전달이 된다. @RestController, @RequestBody, ResponseEntity class, @PathVariable을 통해 REST API를 구현하게 된다. 1..
Restful Web Service 어떻게 하면 웹서비스를 편안하게 개발할까? Rest에 대해 학습 이유? 백엔드 개발자의 시작은 바로 프론트엔드와 연동하기 위한 API 개발이다. 그래서 백엔드 개발자가 되기로 마음을 먹었다면 ‘원하는 기능의 API를 만들어야지’ 라고 생각 하면된다. 그중에서도 REST API를 시작하면 좋은 이유는 오랫동안 API개발의 표준 처럼 사용 되어 왔고 서버개발의 전반적인 흐름을 이해 하는데 도움이 되기 때문이다. 최근에는 GraphQL을 도입하는 회사들도 많아지고 개발 생산성도 좋은 편이지만 아직 까지는 좋은 백엔드 개발자가 되기 위해서는 REST API를 먼저 익히고 학습 하는게 좋다고 생각한다. RestFul Web Service란 무엇인가?? => URI + HTTP standard method를 통해 ..
[Spring Boot] Spring Data JPA의 사용법과 사용이유, 예시 Spring Data JPA 1. Creating DAO 문제 다른 entity 를 만들때 유사한 코드의 반복. DAO 패턴이 같다는 점. 코드의 반복 entity type , primary key만 바꿔주면 다른 entity 도 다를 것이 없다. 2. Spring Data JPA 장점 틀에 박혀있는 DAO code를 최소화, DAO를 실제로 만들어줄 필요가 없다 제공되는 인터페이스 Spring DATA JPA 는 repository interfaces 를 제공한다. 1) CrudRepository 2) PagingAndSortingRepository 3) JpaRepository 4. Query Method id를 기반으로 해서 조회하기 보다는, 검색을 통해서 조회할 경우가 있다. 그 부분에 대해서는 ..
[Spring Boot] Spring에서의 Hibernate 사용법 1. Spring Framework에서 Hibernate 사용 1) Maven Dependency 추가 2) Spring Bean 설정 3) Entity Bean (with annotation) 4) DAO Layer ( Spring JDBC => Hibernate) 1) Maven Dependency 추가 org.springframework spring-orm ${org.springframework-version} org.hibernate hibernate-core 5.4.28.Final 2) hibernate configuartion (dao-context.xml) - hiberante.cfg.xml 파일을 실제로 생성할 필요가 없고, dao-context.xml에 정보를 넣어주면된다. - Confi..
[Spring Boot] Hibernate 에서 Entity Relationships 1. Entity Relationships 4가지 타입 @OneToOne @OneToMany, @ManyToOne @ManyToMany relationship의 방향성이 있다. - bidirectional (양방향) : owning side(referenece를 가지고 있는 side) and inverse side - unidirectional (일방향) : owning side only 2. Entity Relation Attributes Cascading updates/deletes - CascadeType : ALL, PERSIST, MERGE, REMOVE, REFRESH - default 값 : no operation @OneToMany(cascade = CascadeType.ALL, fetch..
[Spring boot] JPA vs Hibernate # Hibernate는 JPA의 구현체이다 - JPA는 스팩이나 인터페이스를 뜻한다. - Hibernate는 JPA의 구현체라고 보면 된다. => JPA만 가지고는 할 수 없고, 구현체가 필요하다. => JPA를 사용하기 위해 굳이 Hibernate를 사용할 필요는 없다. ex) Hibernate, EclipseLink, DataNucleus ... - 밑에 예시와 같이 인터페이스를 직접 구현한 라이브러리이다. List list = new ArrayList(); // | | // Interface Implementation - Java-persistence-api javax.persistence javax.persistence-api 2.2 - Hibernate-core org.hibernate hibe..
[Spring Boot] Hibernate 의 동작 원리 및 특징과 사용 예시 helloHibernate Hibernate 연습 Benefits of Hibernate 1) Hiberante provides the Object-to-Relational Mapping(ORM) 2) Hibernate handles all of the low-level SQL JDBC 코드의 양을 최소화 해준다. Application Architecture SessionFactory를 사용해서 session을 만들어 DB와 커뮤니케이션 한다. hibernate.cfg.xml *.hbm.xml class mappings : 객체와 테이블 사이에 매핑을 하는 부분 1) Configuration Hibernate Config (설정정보) : hibernate.cfg.xml 을 읽음 Hibernate Mapp..

728x90