목록Framework & Library/Spring & SpringBoot (4)
땡글이LAB

예전 Java 개발자들은 데이터베이스에 접근해서 데이터를 가져오기 위해 직접 SQL문을 짰었습니다. 지금도 JPA 대신 JdbcTemplate 을 사용해보면, 얼마나 소모적인 작업인지 알 수 있습니다. 그래서 이 때에 많은 개발자들은 테이블을 객체로 매핑시켜주는 라이브러리 혹은 프레임워크를 개발하기 위해 많은 노력을 들였다고 합니다. 그럼 저희가 그 때 당시의 개발자라고 생각해보면서 먼저 객체와 테이블 간의 차이에 대해 정리해보겠습니다. [ 객체와 관계형 데이터베이스 간의 차이 ] 두 가지가 다르다는 것을 확인시켜주는 중요한 2가지 개념이 존재합니다. 상속 첫 번째로는 '상속' 개념입니다. 객체에는 상속을 할 수 있지만, 관계형 데이터베이스 테이블(이하 '테이블'이라고 칭함)에는 슈퍼타입 서브타입이 존재..

스프링 & 스프링부트는 많은 개발자들이 오래전부터 이용한 프레임워크이고, 대부분의 프로젝트에서 롬복 라이브러리를 사용해서 많은 개발자들이 단순 노동을 대신해서 효율적으로 코드를 짜고 있다. 즉, 스프링 & 스프링부트로 개발한다면, 자주 사용되는 롬복 라이브러리에 대해서도 잘 이해해둘 필요가 있다. 최근 개발자들은 매번 스프링 빈들간에 의존성 주입을 해주거나 특정 Class의 생성자를 만드는 것을 단순 노동이라 여겨 위의 3가지 어노테이션을 잘 활용해서 중복되는 코드를 작성하는 것을 지양하고 있다. 이제 본론으로 들어가서, 각 어노테이션이 의미하는 바를 알아보자. @NoArgsConstructor 의미 스프링에서 사용되는 대부분의 어노테이션은 해당 어노테이션이 동작하는 것을 잘 표현하는 어노테이션 이름을 ..

자바 서블릿(Java Servlet)은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿"이라 불린다. 자바 서블릿은 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다. 서블릿은 JSP와 비슷한 점이 있지만, JSP 가 HTML 문서 안에 Java 코드를 포함하고 있는 반면, 서블릿은 자바 코드 안에 HTML을 포함하고 있다는 차이점이 있다. 서블릿의 주요 특징으로는, urlPatterns(/hello)의 url이 호출되면 서블릿 코드가 실행된다. HttpServletRequest 객체를 이용하면, HTTP 요청정보를 다룰 수 있다. HttpServletResponse 객체를 이용하면, HTTP 응답정보를 다룰 수 있다. 서블릿 객체는 싱글..

[Spring Bean] Spring IoC Contatiner 에 의해 관리되는 객체를 Bean 이라고 한다. 일반적으로 Java에서 new 연산자를 통해 객체를 얻어낸 것은 Spring Bean이 당연히 아니다. Bean을 우리가 사용하기 위해 가져오려면 ApplicationContext 의 getBean() 메서드를 통해 가져온다. 그럼 어떻게 등록해야 하는 걸까?? [Spring Bean 수동 등록] 어플리케이션의 설정 정보를 담당하고 각 클래스 별 중추 역할을 해줌으로써 SOLID 원칙을 위반하지 않게 해주는 설정 클래스 AppConfig.class 가 있다고 가정해보자. 해당 AppConfig.class 에 @Configuration 어노테이션을 붙여주고, AppConfig 클래스 안에서 @B..