springmvc 4

springMVC 활용 - (8) HTTP응답

[정적 리소스, 뷰 템플릿] 스프링에서 응답 데이터를 받는 방법 1. 정적 리소스 예) 웹 브라우저에 정적인 HTML, css, js을 제공할 때는, 정적 리소스를 사용 2. 뷰 템플릿 사용 예) 웹 브라우저에 동적인 HTML을 제공할 때는 뷰 템플릿을 사용 3.HTTP 메시지 사용 2. - 뷰 템플릿을 호출하는 컨트롤러 @Controller public class ResponseViewController { @RequestMapping("/response-view-v1") public ModelAndView responseViewV1() { ModelAndView mav = new ModelAndView("response/hello").addObject("data", "hello!"); return m..

springMVC 기본 - (8) 빈 생명주기 콜백

[빈 생명주기 콜백] 객체의 초기화와 종료 작업 필요. NetworkClient 는 애플리케이션 시작 시점에 connect() 를 호출해서 연결을 맺어두어야 하고, 애플리케이션이 종료되면 disConnect() 를 호출해서 연결을 끊어야됨 public class NetworkClient { private String url; public NetworkClient() { System.out.println("생성자 호출, url = " + url); //2.호출됨 connect(); call("초기화 연결 메시지"); } public void setUrl(String url) { this.url = url; } //서비스 시작시 호출 public void connect() { System.out.printl..

springMVC 기본 - (5) 싱글톤 컨테인너

[웹 애플리케이션과 싱글톤] 싱글톤 : 객체가 나의 JVM에 하나만 존재. - 스프링없는 DI컨테이너 public class SingletonTest { @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer() { AppConfig appConfig = new AppConfig(); //1. 조회: 호출할 때 마다 객체를 생성 MemberService memberService1 = appConfig.memberService(); //2. 조회: 호출할 때 마다 객체를 생성 MemberService memberService2 = appConfig.memberService(); //참조값이 다른 것을 확인 System.out.println("memberS..

springMVC - IoC, DI, 컨테이너

제어의 역전 : 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것 사용자가 호출하는게 아닌 프레임워크가 대신 호출.제어권의 뒤바뀜 이전에는 memerservice구현체가 직접 memoryrepository 생성연결... 어떤 MemberServiecImpl을 쓸지 AppConfig에서 결정. appConfig등장하고 프로그램에 대한 제어 흐름짐에 대한 권한은 모두 AppConfig가 가짐 의존관계 주입 : 애플리케이션 실행 시점(런타임)에 외부에서 실제 구현 객체를 생성하고 클라이언트에 전달해서 클라이언트와 서버의 실제 의존관계가 연결 되는 것 실제 어떤 구현 객체가 사용될 지 몰라. 정적인 클래스 의존관계는 변경하지 않고 동적인 객체 인스턴스 의존관계 변경. OrderService..

1