프레임워크/Spring

    [SpringMVC] 요청 매핑, API 요청 매핑

    요청 매핑 package hello.springmvc.basic.requestmapping; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @Slf4j @RestController public class MappingController { @RequestMapping(value = "/hello-basic", method = RequestMethod.GET) public String helloBasic(){ log.info("helloBasic"); return "ok"; } @GetMapping(value = "/mapping-get-v1") public String mappingGetV1(){ lo..

    스프링 컨테이너와 스프링 빈

    스프링 컨테이너 생성되는 과정 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); @Configuration public class AppConfig { @Bean public MemberService memberService(){ return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService(){ return new OrderServiceImpl( memberRepository(), discountPolicy()); } @Bean ... ... } ApplicationContext를 ..

    [Spring] @ResponseBody 어노테이션

    @ResponseBody HTTP의 BODY에 문자 내용을 직접 반환 즉, 데이터만 전송할 경우 사용 ( API 방식 ) 객체를 return할 경우 기본 default가 json방식으로 데이터를 만들어서 http에 response 하는 게 기본! view Resolver 대신, HttpMessageConverter가 동작한다. 기본 문자 처리 StringHttpMessageConverter 기본 객체 처리 MappingJackson2HttpMessageConverter byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음 @GetMapping("hello-string") @ResponseBody public String helloString(@RequestParam..

    [Spring] Spring의 컨텍스트?

    Chef Class package org.zerock.sample; import org.springframework.stereotype.Component; import lombok.Data; @Component @Data public class Chef { } Restaurant Class package org.zerock.sample; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import lombok.Data; import lombok.Setter; @Component @Data public class Restaurant { @Setter(onM..