본문 바로가기

IT for developer/Spring

(8)
WebClient 사용하기 개인 공부용 정리중. WebClient는 결국 서버와의 통신을 위한 목적이므로 다음과 같은 과정이 필요하겠다. 1. 서버에 요청할 때 사용할 요청 포멧을 정의함 (당연히, 서버와 동일한 포멧으로 주고 받아야함) 2. 서버로 부터 응답 받을 데이터 포멧을 정의함 3. 서버로 부터 응답 받은 데이터를 처리함 1. 요청 포멧 정의하기. 예를 들어 서버가 다음과 같은 데이터 포멧을 수신하도록 만들어져 있다면 @Data @RequiredArgsConstructor public class Pet { final private String name; final private int age; final private Date createdDate; } @Slf4j @RestController @RequestMapping..
WebClient Builder 개인 공부를 위해 정리중.. Non-blocking 통신을 위해서는 RestTemplate 대신 WebClient를 사용하자. WebClient를 사용하는 방법은 간단하게 WebClient.create(), WebClient.create(url) 사용할 수 있지만 여기서는 WebClient Builder에 대해서 살펴보자. WebClient.builder 에는 아래와 같은 함수들을 이용할 수 있다. defaultHeader defaultCookie uriBuilderFactory defaultUriVariables defaultRequest filter exchangeStrategies clientConnector 1) defaultHeader, defaultCookie 는 함수 이름만으로 예상가능할 듯..
나도 한번 써봐야지 스프링 - 5 이제 DB를 이용해 보자. 우선 MySQL을 설치한다. 다운로드가 상당히 오래걸린다; Spring에서 데이터 액세스 기술은 책 toby spring 3 11장에 자세히 기술되어 있다. iBatis를 사용한 예제를 만들어보겠다. MySQL에 user 정보를 위한 테이블을 생성하자. CREATE TABLE `test`.`User_TB` ( `id` VARCHAR(20) NOT NULL, `name` VARCHAR(45) NOT NULL, `email` VARCHAR(45) NOT NULL, PRIMARY KEY (`id`) ) ENGINE = InnoDB; DB 사용을 위해 pom.xml에 dependecy를 추가하자. org.springframework spring-orm ${org.springframew..
JUnit4 & Spring MySQL 설치중이라서 다음단계를 해보기전에 스프링에서는 작성한 프로그램을 어떻게 테스트하는지 살펴보자. 이는 책 toby spring 3 15장에 자세히 기술되어 있다. 여기서는 JUnit4를 이용해 간단하게 테스트하는 프로그램을 작성해 볼 것이다. JUnit4 부터는 특정 클래스를 상속하지 않아도 테스트 코드를 작성할 수 있다. @Test라는 애노테이션만 붙여주면 메소드가 속한 클래스는 테스트 클래스가 된다. public class Test1 { @Test public void testMethod1() {..} } 테스트 클래스에서 스프링의 빈클래스를 가져오려면 다음과 같은 에노테이션을 새롭게 지정해야한다. @RunWith(SpringJUnit4ClassRunner.class) @ContextConf..
나도 한번 써봐야지 스프링 - 4 서비스 클래스와 모델 클래스를 추가해 보자. 비즈니스 로직을 포함하고 있는 서비스 클래스를 추가하여 컨트롤러 클래스에 DI 하고 id만 출력하던것을 이름, 이메일, 아이디를 출력하도록 변경하여 보자. 우선 서비스 클래스를 만들기 전에 서비스 인터페이스를 만들자. 컨트롤러에서는 직접 구현 클래스를 기술하지 않고 인터페이스로 서비스를 호출하도록한다. 다음 세가지 클래스를 추가한다. User.java MyService.java MyServiceImpl.java User.java package sample.mvc.first.model; public class User { String id; String name; String email; public User() {} public User(String id, S..
나도 한번 써봐야지 스프링 - 3 예제를 이제 살짝쿵 고쳐봐야겠다. 우선 인수를 받아서 처리하는 형태로 바꿔보자. 이전 소스 @RequestMapping(value="/", method=RequestMethod.GET) public String home() { logger.info("Welcome home!"); return "home"; } 뷰에서 아이디를 입력받으면 그 아이디를 다시 Echo 해줘서 뷰에 전달해주는 예제로 변경해보자. 우선 함수의 시그니처를 변경해보자. public String home(String id) { ..} 이를 클라이언트로 부터 id를 어떻게 전달 받도록 지정해 보자. @RequestParam 에노테이션을 사용하자. public String home(@RequestParam String id) {..} (사..
나도 한번 써봐야지 스프링 - 2 Template 예제를 살펴보자. HomeController.java package sample.mvc.first; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; /** * Handles requests for the application home page. */ @Controller public class HomeController { pr..
나도 한번 써봐야지 스프링 - 1 몇일간 토비의 스프링3이라는 책을 읽고 있다. 1400페이지가 넘는 책을 정성스럽게 집필한 토비님이 존경스럽다. 정말 훌륭한 책인듯하다. 부럽다~. 나도 이제 대한민국 전자정부 표준 프레임워크 기술인 스프링 좀 공부해보자! Spring 개발을 위해서 Eclipse에 생짜로 개발환경을 구축하는 방법도 있고, 플러그인을 쓰는 방법도 있다. 나는 좀더 간편하게 만들어 보고자 SpringSource Tool Suite을 받아서 설치했다. (maven부터 was 서버까지 모두 설치된다.) SpringSource 사이트 http://www.springsource.com/developer/sts 간단한 예제를 만들어보자. 각종 템플릿을 제공해주고 있다 이를 활용해서 만들면 쉬울 듯하다. 1. 템플릿 프로젝트 생성 2..