목록#Spring (10)
리루
1. Servlet Application에 Spring 적용의 의미란? - 스프링이 제공하는 IoC 컨테이너를 활용하겠다. - 스프링이 제공하는 서블릿 구현체 DispatcherServlet을 사용하겠다. 1-1. (임의로 만든 Servlet에서) 스프링이 제공하는 IoC 컨테이너를 활용하겠다. - 의존성 필요 org.springframework spring-webmvc 5.2.3.RELEASE - web.xml 파일 내 Listener 변경(기등록된 리스너를 제거하고, Spring에서 제공하는 ContextLoaderListener 등록) - ContextLoaderListener는 Spring IoC Container (즉, Application Context)를 Servlet Application ..
1. 서블릿 리스너 - 웹 애플리케이션에서 발생하는 주요 이벤트를 감지하고 각 이벤트에 특별한 작업이 필요한 경우에 사용할 수 있다. - 서블릿 컨테이너에서 발생하는 이벤트(서블릿 라이크사이클의 변화, 애트리뷰트의 변화, 세션의 변화) - 여러개의 서블릿이 공톡적으로 사용할 객체들을 넣어놓는 등의 목적으로 사용할 수 있다.(DB 연결 등) 2. 서블릿 필터 - 요청이 서블릿의 doGet으로 바로가기 전에 전처리 및 응답에 처리를 하기위해서 사용. - 들어온 요청을 서블릿으로 보내고 또 서블릿이 작성한 응답을 클라이언트로 보내기 전에 특별한 처리가 필요한 경우에 사용된다. - 체인 형태의 구조를 갖는다.(순차적으로 적용된다, 반드시 다음 체인으로 넘어가도록 코드를 작성해줘야 한다.) 3. 서블릿 리스너 실..
1. 준비 - Maven : maven-archetype-webapp - 톰켓 - Servlet dependency https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api/4.0.1 Maven Repository: javax.servlet » javax.servlet-api » 4.0.1 Professional Java Data: RDBMS, JDBC, SQLJ, OODBMS, JNDI, LDAP, Servlets, JSP, WAP, XML, EJBs, CMP2.0, JDO, Transactions, Performance, Scalability, Object and Data Modeling (2001)by Carl Calvert Bettis..
스프링 웹 엠브씨는 서블릿 기반의 웹 애플리케이션을 쉽게 만들게 도와주는 프레임워크이다. 그렇담 서블릿은? - 자바 엔터프라이즈 에디션은 웹 애플리케이션 개발용 스펙과 API를 제공한다.(ex, HttpServlet) - 하나의 요청을 받을 때마다 쌔로운 쓰레드를 만들어서(혹은 풀에서 가져다가) 요청을 처리(CGI같은 기술에 비해 훨씬 빠르고, OS에 플랫폼 독립적인 JAVA 본연의 기능을 지원받을 수 있다.). 그렇담 서블릿 컨테이너(서블릿 엔진)은? - 톰켓, 제티, 언더토우 - 서블릿 스펙을 준수, 구현하는 컨테이너들 - 서블릿을 어떻게 초기화하고, 실행하고, 사용하는지의 서블릿의 라이프사이클을 관리. - 세션, 네트워크 관리 - 서블릿 애플리케이션은 우리가 직접 실행할 수 없고, 서블릿 컨테이너가..
- 용어 - HandlerMapper : Handler를 찾아주는 인터페이스 - HandlerAdaptor : Handler를 수행해주는 인터페이스 - View Resolver : View 이름(String 값)을 갖고 실제 매핑되는 View 파일(리소스)을 찾아 변환하는 인터페이스. - 구성 1. MultipartResolver interface : 파일 업로드 요청 처리에 필요한 인터페이스(http 요청에서 content-type : multipart 은 경우, 바이너리로 쪼개져서 날아오는 파일들을 받기위한 처리 작업을 한 것으로 예상, HttpServletRequest -> MultipartHttpServletRequest로 변환) : DispatcherServlet에는 DefaultStratage..
보호되어 있는 글입니다.
1. IoC : Inversion of Control : 의존관계 주입 - 어떤 객체 / 클래스가 사용할 의존객체를 직접 만들어서 사용하는 것이 아니라 어떤 장치(생성자 등)를 사용해서 주입받아 사용하는 것. - Spring이 아니더라도 의존주입 장치가 있다면 사용할 수 있다. - Spring IoC 컨테이너를 사용하는 이유는 여러가지 DI 방법과 노하우가 쌓여있는 프레임워크이기 때문 - 컨테이너 내의 객체들을 빈이라고 부른다. - 컨테이너에는 IoC 기능을 제공하는 기능을 가진 빈들이 들어있다. - 이런 빈들을 컨테이너로 부터 가져와서 사용. - 애노테이션 기반 개발은 구글 쥬스?가 처음 제공 - 스프링 IoC의 가장 핵심은 BeanFactory interface이다. - 스프링 IoC 컨테이너는 빈 ..
1. Annotation을 이용한 Spring 설정 - Application.xml을 java의 annotation으로 변경(MemberConfig.java 파일이 application.xml을 대신해 Spring Container와 bean 객체 생성). - @Configuration Annotation 사용.(해당 자바파일은 Spring Container를 만드는데 사용될 것이라는 것을 명시) - xml 내의 객체는 java 파일 내에서 함수 형태로 표현된다.- --> public StudentDao studentDao() { return new StudentDao(); } --> 여기에서 public StudentDao studentDao() 위에다가 @Bean - Properties 가 있는 내용..
1. Bean life cycle - GenericXmlApplicationContext ctx = new GenericXmlApplicationContext("classpath:applicationContext.xml"); 선언 시, Spring Container가 메모리 상에 생성되고 Bean 객체 생성 및 주입. - ctx.close() 시, Spring Container가 Bean 객체와 함께 소멸됨. 2. Interface를 이용한 Bean 객체 생성되는 과정에서, 소멸되는 과정에서 어떠한 작업 하기. - 생성되는 과정 : Interface InitializingBean (e.g. db연결, network 설정 등)- AfterPropertiesSet() 구현 - 소멸되는 과정 : Interfa..
1. DI의 이해 - 배터리 일체형 장난감(배터리 포함 장난감 기능 객체) vs 배터리 분리형 장난감(장난감 기능 객체 + 배터리 객체) - 객체를 따로 개발해서 붙이고 떼는 것을 쉽게한다. - 객체지향 프로그램의 유연성 - 객체를 모두 독립시킴(Interface 사용) - 프로그램의 확장, 유지보수의 유연성(객체지향의 특성) 2번은 공장에서 배터리 생성 없이 만든다.*3번은 공장에서 배터리를 기본적으로 하나 넣어주고, 사용자가 바꿀 수 있다. - StudentDao와 StudentAssembler- StudentRegisterService, StudentModifyService, StudentDeleteService, StudentSelectService는 StudentDao에 의존(Assembler ..