본문 바로가기

Spring22

Hibernate with Spring ※ Hibernate 적용 전 상식! - Spring MVC 프로젝트 구조 - 각각 패키지 안에 있는 클래스에 쓰는 annotation : @Controller @Repository @ Entity @ Service - 클래스들은 classes 폴더에. war 파일로 패키징 돼서 디플로이 된다. ★ Integrating Hibernate with the Spring Framework 1. Maven Dependencies : Spring - spring-orm , Hibernate - hibernate-core org.springframework spring-orm ${org.springframework-version} org.hibernate hibernate-core 5.2.12.Final 2. Hi.. 2020. 4. 19.
Entity Relationships Entity Relationships relationship multiplicities 4가지 종류 @OneToOne @OneToMany @ManyToOne ManyToMany relationship의 방향 bidirectional(양방향): owning side와 inverse side unidirectional(단방향): owning side only ※ owning side란? 레퍼런스를 가지고 있는 부분(side) -> 다른 쪽을 참조하고 있는 Entity Entity Relation Attributes - updates/deletes cascadng 지원 CascadeType ALL, PERSIST, MERGE, REMOVE, REFRESH - 관련 행 패치에 performance strateg.. 2020. 4. 17.
Hibernate Data Persistence 객체들을 영구적으로 보관하는 것 Web Application 관점에서는 객체지만 Database에서는 이러한 객체들이 테이블로 관리된다. DB에 데이터를 유지하는 방법 JDBC ORM - 객체와 객체 사이는 의존성이 존재(의존성 주입) 객체지향 언어를 사용하면 그래프 형태로 객체를 관리할 수 있고 Relational database systems에서는 테이블 형태로 관리할 수 있다. 객체지향 언어와 DB를 같이 사용하면 객체 모델과 관계 모델에 불일치가 발생할 수 있다 그 부분을 ORM framework의 Hibernate가 해결해준다.(Framework을 사용하여 불일치를 해결) Mismatch가 발생되는 경우! 객체지향언어에서 클래스가 2개이지만 RDBMS에서는 1개인 .. 2020. 4. 10.
Apache Tiles Apache tiles를 사용하는 이유 틀(template)을 만들고 안에 contents를 채워가는 형식 layout을 바꾸고 싶을 때 한 페이지만 바꿔줘도 (template만 바꿔줘도) 다른 페이지 전부 바뀐다. ->일관성 있음 특징 Apache tiles는 MVC technology와 궁합이 잘 맞다. template에 들어갈 각 조각들만 잘 조합하면 된다.(런타임 시 완성되는 페이지) 사용자들이 많은 페이지들이 일관성 있다고 느낀다. Page Template - layout 페이지 위 이미지와 같이 layer에 header menu body footer 속성을 넣어놨다. Tiles Definition xml에 template과 attribute의 경로를 정의 해주면 하나의 페이지가 만들어진다. m.. 2020. 4. 8.
Spring Security Spring Security란? 사용자 정의가 가능한 인증 및 권한 부여가 가능한 프레임워크 Spring을 사용한 애플리케이션에서 사실상 표준 전적으로 servlet filter를 기반으로 한다. Filter는 서블릿에서 오고 가는 요청과 응답을 intercept(가로채기)할 수 있고 전처리 후처리가 가능하다. Browser - request -> servletRequest -> filter -> Servlet (요청 과정) Servlet -> filter -> servletResponse -> response -> Browser (응답 과정) 예시) controller package com.naver.daehwan; import org.springframework.stereotype.Controller.. 2020. 3. 30.
Spring Web Form 1. Data Binding - request parameter들은 어떻게 해당 오브젝트로 옮겨질까 Naive solution - @RequestParam annotaion을 사용하여 메서드 매개 변수와 bind 해준다. ex) @RequestMapping("/deget") public String doGet( @RequestParam("name") String name){... } -> 이런 식으로 받은 매개변수를 객체를 만들어 set 해주는 방식 Spring Data Binding - form에서 오는 매개변수를 자동으로 객체에 바인딩시켜준다. ex) @RequestMapping(value="/docreate", method=RequestMethod.POST) public String doGet(Em.. 2020. 3. 25.