Software Engineering/Spring Boot 3

Java EE(Jakarta EE) vs. Spring 프레임워크

Spring은 Java EE를 대체하기 위해 나온 기술입니다. Java EE에는 JSP, JSTL, Servlet, EJB, JavaMail, JTA, JMS, JPA 등의 하위 기술들이 포함되어 있는데, 각각이 Spring Framework와 어떻게 대응되는지 궁금해져서 오랜만에 글을 쓰게 되었습니다. 추가로 Java EE와 Spring의 특징과 차이점도 함께 정리하겠습니다. Slideshare에서 좋은 자료를 발견해서 원본 주소를 남기고 가져와 보았습니다. 2011년 자료이지만 기술의 발달 과정을 이해하는 데는 옛날 자료도 도움이 많이 된다고 생각합니다. 1. 특징 비교 의존성 주입 JSR(Java Specification Requests) CDI(Contexts and Dependency Injec..

JPA(Java Persistence API) 개념 정리

ORM(Object-Relational Mapping) 기술 일반적인 애플리케이션은 RDBMS에 데이터를 저장하고 가져오는 기능을 가집니다. 그런데 자바 객체를 DB에 저장하려면 JDBC를 통해 테이블 속 레코드로 저장해야 하고, 반대로 테이블에 저장된 레코드를 사용하려면 레코드를 읽어와서 다시 자바 객체로 변환하는 코드가 각 객체마다 필요하게 됩니다. 이처럼 RDBMS와 객체지향 코드 간의 설계 원칙이 다르기 때문에, 이 둘을 매핑하여 객체지향 코드를 작성하는 데 집중할 수 있도록 도와주는 ORM 기술이 생겨났습니다. (Wikipedia ORM 참고자료) 예를 들면, Java SE에 포함되어 있는 JDBC(Java DataBase Connectivity) API를 사용해서 아래처럼 작성한 코드를 Str..

Spring Boot 웹 개발: 시작하기 전에 알아 둘 배경지식

Model 1과 Model 2 아키텍처 웹 애플리케이션의 설계 패턴에는 Model 1과 Model 2(=MVC 패턴)이 있습니다. 저는 JSP를 처음 접했을 때 JSP 파일 내에 화면 표시부터 로직, JDBC와 SQL을 전부 때려박아서 간단한 게시판 기능을 만들었던 적이 있습니다. 그 때는 제가 웹 개발에 손을 댈 생각이 없었기 때문에 그대로 과제물로 제출했던 기억이 납니다. 아무튼, Model 1은 JSP에서 비즈니스 로직 부분을 자바 빈 클래스로 분리하여 개발하는 패턴입니다. 이렇게 하면 프레젠테이션 로직은 JSP와 HTML로, 비즈니스 로직은 자바 빈으로 구현하여 코드의 유지보수성과 재사용성이 좋아집니다. 예를 들어서, 현재 시각을 출력하는 자바 빈을 만들고, 그 기능이 필요한 모든 JSP 페이지에..