본문 바로가기

스프링(부트)14

[스프링] Spring Data 대부분의 애플리케이션은 다양한 데이터 리포지터리와 통신한다. 자바EE에서 제공하는 가장 기본적인 API는 JDBC이다. 일반적인 JDBC코드에는 다음이 포함된다. 실행할 쿼리 스테이트먼트 객체에 대한 쿼리 매개변수를 설정하는 코드 쿼리 실행 결과(ResultSet)를 빈에 옮기는 코드 그러나 JDBC 코드는 작성하고 관리하기 번거롭다. 다음 두 가지 프레임워크가 JDBC 위에 추가 레이어를 제공하기 위해 널리 사용됐다. Mybatis(Ibatis): Mybatis는 수동으로 코드를 작성해 매개변수를 설정하고, 결과를 검색할 필요가 없다. 자바 POJO를 DB에 매핑하는 간단한 XML 또는 어노테이션 기반 구성을 제공한다. Hibernate: Hibernate는 ORM 프레임워크다. ORM 프레임워크는 관.. 2020. 5. 24.
[스프링] Handler Interceptor Handler Interceptor는 컨트롤러에 대한 요청을 가로채는데 사용된다. 예를 들어, 요청 전 후에 일부 처리를 원할 수 있다. 요청 및 응답의 내용을 기록하거나 특정 요청의 소요된 시간을 알아내야 할 수도 있다. HandlerInterceptor를 만드는 데는 두가지 단계가 필요하다. HandlerInterceptor를 정의한다. HandlerInterceptor를 인터셉트할 특정 핸들러에 매핑한다. HandlerInterceptor 정의 public class HandlerTimeLoggingInterceptor extends HandlerInterceptorAdapter { private static final Logger logger = Logger .getLogger(HandlerTim.. 2020. 5. 3.
[스프링] Spring MVC 예제 및 단위테스트 목차 Spring MVC는 이전 블로깅에서도 말했다시피 아래와 같은 플로우를 따른다. 여기서는 Spring MVC를 사용해서 6가지 간단한 웹 플로우를 만드는 예제를 만들 것이다. Flow 1. 뷰가 없는 컨트롤러, 자체적으로 컨텐츠 제공 Flow 2. 뷰가 있는 컨트롤러 (JSP) Flow 3. 뷰가 있고, ModelMap을 사용하는 컨트롤러 Flow 4. 뷰가 있고, ModelAndView를 사용하는 컨트롤러 Flow 5. 간단한 폼의 컨트롤러 Flow 6. 벨리데이션이 있는 간단한 폼의 컨트롤러 기본 설정을 해야하는 것은 Spring MVC의 의존성을 추가한다. DispatcherServlet을 web.xml에 추가한다. Spring Application Context를 생성한다. Spring MV.. 2020. 4. 26.
[스프링] Spring Web MVC Spring MVC Spring MVC 프레임워크는 MVC 디자인패턴을 사용하도록 되어있고 유연하고 느슨하게 연결된 웹 애플리케이션을 개발하는 데 사용할 수있는 준비된 구성 요소를 제공한다. MVC의 순서를 보면 다음과 같다. 1. 클라이언트가 서버에게 어떤 요청을 보내면 DispatchServlet이 가로챈다. DispatcherServlet은 web.xml파일에서 설정할 수 있는데 web.xml파일에 아래의 내용을 추가해주면 된다. dispatcher org.springframework.web.servlet.DispatcherServlet 1 dispatcher / 주석처리한 부분은 dispatcher-servlet.xml 파일의 위치를 지정해주기 위해서 필요한 줄 알았으나 없어도 잘 찾아서 굳이 적.. 2020. 4. 3.
[스프링] 토비의 스프링 1.1 IoC 컨테이너 : 빈 팩토리와 애플리케이션 컨텍스트 IoC 컨테이너(Inverse of Control): 스프링 애플리케이션은 오브젝트의 생성과 관계설정, 사용, 제거 등의 작업을 컨테이너가 담당한다. 이 컨테이너를 IoC 컨테이너라고 부른다. 이런 IoC컨테이너를 빈 팩토리 또는 애플리케이션 컨텍스트 라고 부르기도 한다. 빈 팩토리: 오브젝트 생성과 오브젝트 사이의 런타임 관계를 설정하는 DI(Dependency Injection) 관점의 컨테이너 애플리케이션 컨텍스트: 빈 팩토리 + α(추가 기능) public interface ApplicationContext extends ListableBeanFactory, HierarchicalBeanFactory, MessageSource, ApplicationEventPublisher, ResourcePat.. 2020. 3. 1.
[스프링부트] 스프링부트 멀티모듈 에러 (SpringBoot Multi-module Error) 스프링 멀티 모듈을 만들 때, 아래와 같은 구조가 생길 수 있다. parent | + build.gradle | + settings.gradle | + A module | | | + build.gradle | + B module | | | + build.gradle | + C module | | | + build.gradle | + D module | | | + build.gradle 이때 settings.gradle에 아래와 같은 형태로 넣어주게 된다. rootProject.name = 'parent' include 'A module' include 'B module' include 'C module' include 'D module' 그리고 A 모듈의 패키지를 B모듈에서 참조할 경우 B 모듈의 bui.. 2019. 10. 28.