본문 바로가기

Server-DB/Spring Boot

(4)
XML와 Annotation, 왜 Annotation을 사용하는가 XML - 결합도를 낮추고 유지보수성을 높이기 위해 xml로 설정하였으나 xml이 너무 많아지면 오히려 유지보수성이 낮아지는 아이러니한 상황 발생 - 유지보수성에 방점 - 시스템 전체에 영향을 주고 이후에 변경 가능성이 있는 것은 xml로 설정.(DBCP 등) Annotation Annotation의 정의 정의 : 주석이 선언적 프로그래밍 모델( 메타데이터) 을 지원하는 기술. 컴파일, 런타임시에 반영한다. ※ 메타데이터 : 데이터의 데이터. 데이터를 설명하기 위한 데이터 (설정 정보) ex) @Repository, @Service, @Controller, @Autowired, @Resource Annotation이 나온 이유 IT가 발전하면서 프로그램의 규모가 방대해지면서 XML이 가지는 설정정보의 양..
JDBC, JPA, MyBatis? | Java와 DB 간 API 정리 Java에서 DB를 다룰 때 다양한 방식들이 있어서 이를 정리해보고자 한다. 1. JDBC 가장 기본적인 방식은 JDBC(Java Database Connectivity)이다. 사실 모든 DB를 다루는 기술은 여기서 시작되었다. DAO로 DB와의 연결을 관리하고, DB 간 통신 할 때 객체를 다루어주는 DTO, VO가 존재한다. 헌데 이 방식은 문제점이 존재했는데, 바로 Java 코드 내에 SQL쿼리문이 직접적으로 작성되었다는 것이다. 그래서 이를 타파하기 위해 2가지 방식이 생겨났다. 하나는 자주 쓰이는 SQL 쿼리문을 미리 정해놓고 사용하는 방식, 또 다른 하나는 SQL문이 아니라 DB 자체를 맵핑해놓고 사용하는 방식이다. 전자는 쿼리문, 후자는 DB를 맵핑하는 것으로 이해하면 된다. 2. SQL M..
자바 웹기술 #2. 스프링 그리고 스프링 부트 앞서 말한 바와 같이, 모델2의 패턴으로 웹 어플리케이션을 구성하다 보면 공통되는 부분이 나타난다. 이렇게 반복되는 부분을 하나의 틀로 만든것이 프레임워크이고, 그 중 대표적인 것이 스프링 프레임워크이다. 반복되는 부분을 틀로 만들 때, 어떠한 사상과 철학이 들어가게 된다. 스프링 프레임워크의 사상은 DI, IoC, AOP로 요약할 수 있다. 스프링을 사용하기 이전에는 어떠한 로직을 만들 때 매번 객체를 만들어주어야 했다. 예를 들어, 서블릿과 JSP로 웹 프로그래밍을 할 경우, DB와 연결해줄 DAO를 만들 때 마다 매번 새로운 객체를 만들어서 로직을 짰다. 이 방식의 문제점은, 사용하던 DB를 다른 DB로 바꿀경우 DAO 역시 전부 다 수정해주어야 한다는 점이다. 예를 들어, 오라클을 사용하다가 My..
자바 웹기술 #1. 서블릿과 JSP 그리고 모델2 CGI(common gateway interface)의 한계, 펄이 가진 한계로 인해, 웹 어플리케이션 그리고 Java를 통한 웹 프로그래밍이 대두되었다. 이러한 시기에 Java로 웹을 다루는 것에 대한 많은 고민들이 이어졌고, 그에 따라 나온 것이 Servlet이라는 도구이다. Servlet 그리고 JSP의 차이점은, 서블릿은 Java 안에 HTML이 존재하는 구조이며, JSP는 HTML 안에 Java가 존재하는 구조라는 것이다. 또한 JSP는 서블릿에서 파생되어진 것이기 때문에, JSP를 실행할 경우, 이것이 Servlet(Java) 코드로 변환되고, 이것을 실행한 결과물인 HTML만 최종적으로 브라우저에서 보게 된다. Servlet에 관해서는 3가지 내용만 기억하면 된다. URL매핑, DB연동, 포..