본문 바로가기
반응형

스프링17

[JPA] JPA란? 이 글은 JPA의 개념, JPA가 등장한 배경, JPA의 장-단점에 대해서 다룹니다. 추가적으로 가장 많은 자바 개발자가 사용하는 프레임워크인 스프링에서 어떻게 JPA를 사용하는지 알아봅니다. 학습목표 - JPA의 등장과 개념 - Spring Data JPA JPA의 등장과 개념 기존에 스프링에서는 관계형 데이터베이스(이하 RDBS)를 다룰 때 iBatis, MyBatis와 같이 쿼리를 매핑하는 SQL Mapper를 많이 사용했다. 하지만 이러한 기술은 객체 모델링보다 테이블 모델링에만 집중하게 만들고, 객체를 단순히 테이블에 맞추어 데이터를 전달하는 역할만 할 수 있다는 단점이 있었다. RDBS는 데이터를 어떻게 저장할지에 초점이 맞춰진 기술이다. 반대로 객체지향 프로그래밍 언어는 메시지를 기반으로 기.. 2021. 4. 20.
[Spring] 오류 해결: org.hibernate.AnnotationException: No identifier specified for entity 문제 스프링에서 Entity 클래스를 다음과 같이 작성했다. @Entity public class User { @Id private Long id; private String firstName; private int age; private String email; } 작성하는 중 분명 @Id 어노테이션을 갖는 필드가 존재함에도 다음과 같은 에러를 뿜으며 애플리케이션 실행이 중지되었다. 해결 잘못된 패키지에서 Id 클래스를 import 하고 있었다. 다음과 같이 변경하여 해결할 수 있었다. import org.springframework.data.annotation.Id; 변경 -> import javax.persistence.Id; 2021. 4. 15.
[Spring] MVC 프레임워크를 따라 만들어보자. MVC 프레임워크 개발하기MVC 프레임워크를 따라 만들어보자. 이글은 Model1 구조와 Model2 구조를 예제 코드로 구현한 이전 글(scshim.tistory.com/271)의 코드를 개선하여 프로그램을 만든다. 이전 글(scshim.tistory.com/271)에서는 Model2 아키텍처를 간단히 만들기 위해 DispatcherServlet 하나로 Controller 기능을 구현했다. 하지만 이것은 클라이언트의 모든 요청을 하나의 서블릿이 처리한다는 문제점이 있다. 따라서 서비스가 복잡해지면, 수많은 분기 처리 로직으로 개발과 유지보수가 어려워 진다. 이러한 문제를 Spring(MVC)나 Structs 같은 MVC 프레임워크에서 제공하는 Controller를 사용하여 해결할 수 있다. MVC 프레.. 2021. 2. 25.
[Spring] Ioc, DI, ApplicationContext, Bean, BeanFactory 개념 [Spring] Ioc, DI, ApplicationContext, Bean, BeanFactory Ioc(Inversion of control)란? · Ioc(제어의 역전)이란 프로그램의 제어 흐름 구조가 뒤바뀌는 것이다. 일반적인 프로그램 흐름 · 일반적인 프로그램의 흐름은 main() 메소드와 같이 프로그램이 시작되는 지점에서 사용할 오브젝트를 결정하고, 결정한 오브젝트를 생성하고, 만들어진 오브젝트에 있는 메소드를 호출하고, 그 오브젝트 메소드 안에서 다음에 사용할 것을 결정하고 호출하는 식의 작업이 반복된다. Ioc의 프로그램 흐름 · Ioc에서는 오브젝트가 자신이 사용할 오브젝트를 스스로 선택하거나, 생성하지 않는다. 모든 제어 권한을 자신이 아닌 다른 대상에게 위임하기 때문이다. 스프링에서는.. 2021. 2. 19.
[Spring Boot] 스프링부트 프로젝트에 Spring Data JPA 적용하기 스프링부트 프로젝트에 Spring Data JPA 적용하기 `스프링 부트와 AWS로 혼자 구현하는 웹 서비스`의 내용을 정리한 글입니다. 이 글에서는 스프링부트에 JPA를 설치하고, 사용하는 방법을 다룹니다. 그리고 작성한 JPA 코드를 JUnit을 통해 테스트합니다. 학습 목표 ㆍSpring Data JPA 설치 ㆍSpring Data JPA 사용 ㆍSpring Data JPA 테스트 코드 작성 Spring Data JPA 설치 ⭐ 스프링부트 프로젝트에 build.gradle에 아래와 같이 의존성을 추가한다. dependencies { compile('org.springframework.boot:spring-boot-starter-web') testCompile('org.springframework.b.. 2021. 1. 15.
[Spring] 스프링 Model 1 아키텍처와 Model 2 아키텍처 스프링 Model 1 아키텍처와 Model 2 아키텍처 ✏️ Model 1 아키텍처 아키텍처는 90년대 말부터 2000년대 초까지 자바 기반의 웹 애플리케이션 개발에 사용됐던 아키텍처로, JSP와 JavaBeans만 사용하여 웹을 개발하는 구조입니다. Model 1 아키텍처에서 Model의 기능은 JavaBeans에 의해 이루어집니다. Model은 데이터베이스 연동 로직을 제공하면서 DB에 검색한 데이터가 저장되는 자바 객체를 말합니다. JavaBeans의 Bean는 자바에서 객체를 의미하는 용어입니다. 즉, JavaBeans는 데이터베이스 연동에 사용되는 자바 객체들입니다. Model 1 아키텍처에서는 JSP 파일이 가장 중요한 역할을 수행합니다. JSP가 Controller와 View 기능을 모두 처.. 2021. 1. 12.
반응형