본문 바로가기

728x90

Backend/Spring & SpringBoot

(27)
[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..
[Spring Framework] 03_03. 요청 파라미터 처리 방법 1. 컨텍스트 루트 경로가 변경될 경우 처리 방법. 1) 컨텍스트 루트 경로를 변수로 지정함. 요청 파라미터값 테스트!!! 회원 가입 양식 - ID: - PW: - NAME: - HOBBY: 축구 독서 음악 - jstl 사용 - EL 사용 2) 태그를 사용함. 요청 파라미터값 테스트!!! 회원 가입 양식 - ID: - PW: - NAME: - HOBBY: 축구 독서 음악 로 변경 2. 요청 파라미터 처리 방법 * 파라미터 받는 VO 객체 생성 * UserVo.java package com.spring.web.model; import java.util.List; public class UserVO { private String userId; private String userPw; private Strin..
[Spring Framework] 03_02. GET / POST 요청 메서드 매핑 1) GET / POST 따로 받는 방법 * req-ex01.jsp RequestController를 이용한 요청 처리 연습 컨트롤러 테스트 중입니다~ * RequestController.java @Controller @RequestMapping("/request") public class RequestController { public RequestController() { System.out.println("RequestCon 작동!"); } //@RequestMapping(value="/request/basic01", method=RequestMethod.GET) @GetMapping("/request/basic01") public String basicGet() { System.out.printl..
[Spring Framework] 03_01. Spring Framework 설계 모델 스프링 MVC 프레임워크 기반의 웹 프로그래밍 구조를 살펴보면 다음과 같다. DispatcherServlet Class가 브라우저의 요청을 받고, 그 요청을 HandlerMapping에게 넘겨준다. HandlerMapping은 많은 Controller중에 가장 적합한 것(URL, HTTP 메서드 및 정보, 파라미터 참고)을 선택한다. Controller가 결정되었다면, 실제로 해당되는 컨트롤러의 메소드를 호출해야 되는데 호출방법이 타입에 따라 다르므로 아무리 Controller를 결정했다고 하더라도, DispatcherServlet은 알 길이 없기에 컨트롤 타입을 지원하는 HandlerAdapter라는 인터페이스가 적합한 파라미터를 추출해 해당 Controller의 메소드를 호출한다. 다시 Dispatc..
[Spring Framework] 03. Spring 개발환경 구축 Spring Framework를 사용하려면 이클립스에 STS(Spring Tool Suite) 을 설치해야 한다. Java , 이클립스, tomcat에 대한 환경 설정은 모두 완료했다고 가정하겠다. 1. 이클립스에 STS(Spring Tool Suit) 설치 1) 이클립스 상단탭 HELP 클릭 -> Eclipse Marketplace 클릭 2) Marketplace에서 "sts" 를 검색해서 Standalon Edition 3.9.13 을 다운받는다. 3) 모두 confirm 하고 accept하면, 이클립스를 재시작하라고 나오면 클릭하고 재시작한다. 4) 오른쪽 상단에 perspective를 Spring 으로 변경한다. 5) Spring legacy 프로젝트 생성 6) Spring version 변경 -..
[Spring Framework] 02_02 의존객체 자동 주입 * 의존 객체 자동 주입이란? 스프링 설정 파일에서 의존 객체를 주입할 때 또는 태그로 의존 대상 객체를 명시하지 않아도 스프링 컨테이너가 자동으로 필요한 의존 대상 객체를 찾아서 의존 대상 객체가 필요한 객체에 주입해 주는 기능이다. 구현 방법은 @Autowired와 @Resource 어노테이션을 이용해서 쉽게 구현할 수 있다. 1) @Autowired 타입을 기준으로 의존성을 주입, 같은 타입 빈이 두 개 이상 있을 경우 변수이름으로 빈을 찾음 Spring 아노테이션 2) @Qualifier 빈의 이름으로 의존성 주입 @Autowired와 같이 사용 Spring 아노테이션 3) @Resource name을 속성을 이용하여 빈의 이름을 직접 지정 JavaSE의 아노테이션(JDK9에는 포함 안 되어 있음..

728x90