목록Java Spring (7)
백엔드 개발 공부 일지

● Spring Data JPA Spring Data JAP는 Spring Framework에서 JPA를 편리하게 사용할 수 있도록 지원하는 프로젝트로서 CRUD처리를 위한 공동 인터페이스를 제공한다. Repository 개발 시 인터페이스에만 작성하면 실행 시점에 Spring Data JPA가 구현 객체를 동적으로 생성해서 주입시키므로 데이터 접근 계층을 개발 할 떄 구현 클래스 없이 인터페이스만 작성해도 개발을 완료할 수 있도록 지원한다. Spring Data JPA를 사용하기 위해 일반적으로 'JpaRepository' 인터페이스를 상속한 Repository 인터페이스를 정의한다. 단지 인터페이스를 상속했을 뿐인데, 기본적인 메서드를 이미 장착한 상태이고, 심지어 정의한 인터페이스를 구현할 필요가 ..

◆ JPA 란? JPA는 Java Persistence API 의 약자로서, RDBMS와 OOP 객체 사이의 불일치에서 오는 패러다임을 해결하기 위해서 만들어진 ORM (Object-Relational Mapping) 기술이다. ORM이란 Object Relation Mapping, 객체-관계 매핑의 줄임말로서 OOP 객체 구현 클래스와 RDBMS에서 사용하는 테이블을 자동으로 매핑하는 것을 의미한다. 이 때, 클래스와 테이블은 기존부터 호환 가능성을 두고 만들어진 것이 아니므로 불일치가 발생하는데 이를 ORM을 통해서 객체 간의 관계를 바탕으로 SQL 문을 자동으로 생성하여 불일치를 해결한다. 이 방법을 통해서 SQL문을 구현할 필요없이 객체를 통해 간접적으로 데이터베이스를 조작할 수 있다. JPA는 ..

● MyBatis란? 자바에선 데이터베이스 프로그래밍을 하기 위해 JDCB를 제공하고, JDBC는 관계형 데이터 베이스를 사용하기 위해 다양한 API를 제공한다. 다양한 관계형 데이터베이스를 지원하기 위해 JDBC는 세부적인 작업이 가능하게 작업별고 각각의 메소드를 호출하게 된다. 이러한 사항들은 다수의 메소드를 호출하고 관련된 객체를 해제 해야 하는 단점이 있다. MyBatis는 객체 지향 어플리케이션에서 관계형 데이터베이스를 쉽게 사용할 수 있도록 도와주는 데이터 맵핑 프레임워크로서 Mybatis의 장점은 다음과 같다. ● MyBatis 설치 MyBatis를 사용하기 위해 관련 API를 추가로 설치해야 한다. maven을 사용하는 경우 pom.xml에 MyBatis 관련 의존성(태그)을 작성한다. -..

● MVC 스프링 MVC는 프론트 컨트롤로 패턴을 적용한다. 프론트 컨트롤러 패턴이란, 하나의 핸들러 객체를 통해서 요청을 할당하고, 일관된 처리를 작성할 수 있게 하는 개발 패턴이다. 브라우저로부터 받은 요청은 스프링 MVC가 제공하는 DispatcherServlet 클래스가 모두 관리한다. web.xml 파일에는 다음 내용이 작성 되어 있다. ● Annotation in Spring MVC 1) @Controller Spring MVC의 Controller 클래스 정의를 단순화 시켜준다. 스프링의 컨트롤러는 상속 구문을 적용할 필요가 없으며, @Controller로 등록된 클래스 파일에 대한 bean 을 자동으로 생성해준다. Controller로 사용하고자 하는 클래스에 @Controllser 를 지..

● Spring IOC "Spring IOC" 는프로그램에서 필요한 객체 생성을 Spring FW에서 하고 객체를 필요로 하는 곳에 주입하는 것 그리고 객체를 찾을 떄 제공하는 것 모두 Spring FW 대신 처리한다. Spring FW에 의해 관리되는 Java 객체를 bean이라고 부르며 이 일을 담당하는 Spring FW의 구성요소를 IOC 컨테이너라고 한다. Spring DI는 객체간의 결합도를 느슨하게 하는 스프링의 핵심 기술이다. - Spring IOC 컨테이너 초기화 ApplicationContext context = new ClassPathXmlApplicationContext("빈 설정 파일"); - DL (Dependency Lookup)의 예 타입명 bean = (타입명)context...