백엔드 썸네일형 리스트형 스프링 MVC - 요청 데이터 요청 데이터의 형식 복습! http request 메시지의 데이터 형식은 3가지이다. 1. GET - 쿼리파라미터 2. POST (html form) 3. http message body GET, POST Get 방식과 html form의 Post는 둘 다 형식이 같으므로 구분 없이 조회 가능하다. 이것을 요청 파라미터 조회라고 한다. 이전에 알아봤던 방법은 HttpServletRequest 객체를 통해 조회하는 방법이다. @RequestMapping("/request-param") public void reqV1(HttpServletRequest request, HttpServletResponse response) { String username = request.getParameter("usernam.. 더보기 스프링MVC 요청 매핑 요청 매핑 기본 Controller : 반환값이 String 이면 뷰 이름으로 인식됨 RestController : 반환값으로 뷰를 찾지 않고 Http 메시지 바디에 바로 입력한다. @RequestMapping({"/hi", "/hello"}) public String myController() {} RequestMapping은 배열을 통해 여러 url 처리가 가능하게 설정할 수도 있다. http 메서드 지정은 @GetMapping 등으로 쉽게 할 수 있다. Path Variable Path Variable은 리소스에 식별자를 넣는 경우, 경로를 변수로 받아올 때 사용한다. @GetMapping("/path-variable/{user}") public String path(@PathVariable("us.. 더보기 스프링MVC의 Handler, View Resolver https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com 위 강의를 들으며 정리한 글입니다. https://mvmvm.tistory.com/98 프론트 컨트롤러 패턴 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹.. 더보기 프론트 컨트롤러 패턴 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com 위 강의를 들으며 정리한 글입니다. 프론트 컨트롤러 패턴 모든 요청을 받는 컨트롤러를 하나 둬서 이 컨트롤러가 각 컨트롤러에게 요청을 전달하도록하는 패턴이다. 기존 패턴은 서블릿 매핑으로 각 컨트롤러가 직접 호출됐지만 프론트 컨트롤러를 사용하면 모든 사용자의 요청들은 프론트 컨트롤러를 거쳐가게 된다.. 더보기 Http Request 데이터 형식 정리 웹상에서는 거의 모든 메시지들이 http 프로토콜을 따라 http 메시지로 전달된다. httpServletRequest 객체와 http ServletResponse 객체는 개발자들이 이러한 http 메시지들을 편하게 이용할 수 있도록 도와준다. Http Request http 에서 요청데이터 형식은 3가지중 하나이다. 1. GET - 쿼리 파라미터 Url에 다음과 같이 파라미터가 포함되는 방식이다. 물음표 뒤에 붙는건 전부 파라미터들이고 &로 구분한다. http://www.tistory.com?name=abc&age=100 @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletExcep.. 더보기 스프링 빈 스코프 싱글톤 스코프 : 스프링 컨테이너가 생성되고 내려갈 때까지 같은 객체 프로토타입 스코프 : 매번 요청이 올 때마다 스프링 컨테이너가 새로 생성, 의존관계 주입, 초기화까지 해주고 전달함 프로토타입은 말 그대로 스프링 컨테이너 입장에서는 요청이 오면 만들어서 던져주는 것이기 때문에 관리는 전적으로 클라이언트가 해야한다. 그런데 만약 싱글톤 빈이 프로토타입을 자동주입 받게 되면? 싱글톤 빈은 계속해서 같은 프로토타입의 참조를 들고 있을 것이니 프로토타입이라해도 싱글톤으로 자동주입 들어가는 순간 싱글톤이나 다름 없게 된다. 이를 해결하기 위한 방법은 싱글톤에서 프로토타입 객체를 가져와야할때 매번 스프링 컨테이너에 조회해야 한다. 이를 간단하게 하기 위한 것이 ObjectProvider이다. @Scope("si.. 더보기 스프링 빈 등록 총정리 팩토리 메소드 방식 스프링 빈 등록시의 팩토리 메소드 방식은 아래와 같이 Configuration 클래스를 만들어서 안에 있는 메소드들에 Bean 어노테이션을 달아서 등록하는 방법이다. ( 수동적인 방법 ) @Configuration public class AppConfig { @Bean public MemoryMemeberRepository memberRepository() { return new MemoryMemeberRepository(); } @Bean public MemberService memberService() { return new MemberServiceImple(memberRepository()); } @Bean public OrderService orderService() { ret.. 더보기 스프링 설정 - Xml 형식 항상 자바코드로 작성하고 @Configuration 달면 간단하게 설정이 끝났는데 xml 형식으로 설정하는 법도 알아야 한다고 해서 나름의 삽질 끝에 정리해봤다. @Configuration public class AppConfig { @Bean public MemoryMemeberRepository memberRepository() { return new MemoryMemeberRepository(); } @Bean public MemberService memberService() { return new MemberServiceImple(memberRepository()); } @Bean public OrderService orderService() { return new OrderServiceImpl(.. 더보기 쿠버네티스 기본 쿠버네티스는 마이크로 서비스 아키텍쳐를 따른다. 각각의 구성요소가 자신의 일만을 열심히 한다고 보면 된다. API서버는 모든것의 중심에 있는 메인 타워같은 존재라고 보면 된다. 커멘드 센터라고 표현하지 않은 이유는 딱히 명령을 내리는게 아니고 그저 감시만 할 뿐이기 때문이다. 파드가 생성되는 흐름은 다음과 같다. 1. 사용자가 콘솔창에다가 kubectl create pod 입력을 하면 API 서버로 명령어가 날아간다. 2. API가 사용자로부터 파드 생성 요청을 받으면 컨트롤러 매니저에게 '파드 생성해!' 하는것이 아니고 상태값들을 업데이트하고 파드가 생성되는지를 감지하게 된다. 3. 컨트롤러 매니저가 API 서버의 상태값을 확인하고 파드를 생성해야하면 그때서야 파드를 생성한다. 4. 스케쥴러는 API .. 더보기 JPQL 페치조인의 한계, 다양한 쿼리 페치조인의 한계 - 페치조인은 별칭을 쓰면 안된다. select t From Team t join fetch t.members m where m.age > 30 이런식으로 하게되면 실제로 team의 멤버보다 적은 수의 결과가 나오게 된다. 이는 JPA에서 의도한 설계가 아니니 지원하지 않는다. 정 이렇게 하고 싶으면 member를 조회하도록 한다. fetch join은 team 조회시 모든 member가 나온다고 가정하고 설계되었다. - 둘 이상의 컬렉션은 페치조인 할 수 없다. - 컬렉션 페치조인 사용시 페이징이 불가능하다. (다대일 일대일에서는 페치조인해도 페이징이 가능하다) 컬렉션 페치조인은 1의 입장에서는 데이터 뻥튀기 현상이 일어나니 페이징을 사용할 수 없는것이 당연하다. 만약 사용하고 싶으면 .. 더보기 이전 1 2 3 4 5 다음