Controller동작 테스트 중 dispatcherservlet에 mapping이 안돼어 자꾸 오류가 발생 하였다.

코드에 이상없고 web.xml, servlet.xml도 잘 햇는데 도무지 원인을 알 수 없어 고심 하던 중..


problems에 waring(!) 하나 떠 있던 걸 아래와 같은 방식으로 해결하고


Build path specifies execution environment JavaSE-1.6. warning. There are no JREs installed in the workspace that are strictly compatible with this environment.


아래와 같이 조치하시면 warning 이 제거됩니다.


* 프로젝트 Properties 메뉴를 클릭한다.

* Java Build Path 를 클릭한 후, Libraries tab 을 클릭한다.

* "JRE System Library" 를 제거한다.

* "Add Library..." 버튼을 클릭한 후, "JRE System Library" 를 선택하고 "Next" 버튼을 클릭한다.



tomcat stop => project -clean => tomcat start

tomcat => clean 

으로 해결하였다.




'Spring' 카테고리의 다른 글

마이크로서비스에서 DDD 사용하기  (0) 2020.03.05
Spring 날짜 타입 변환  (0) 2019.06.24
Spring 동작원리  (0) 2019.02.27
Spring MVC 구성 요소  (0) 2019.02.23
Spring이란 무엇인가?  (0) 2019.02.21




Spring MVC 프로젝트를 만들고 난 후, 기본적인 구성요소들입니다. (board_list.jsp 추가로 만들었음)


각 구성요소들이 어떤 역할을 하는지 알아 보겠습니다.


pom.xml : maven의 빌드 정보를 기술 한다. 무엇으로 구성되어있는지 그 기본형을 서술한다. 다양한 프레임 워크와 라이브러리를 관리하여 준다.


web.xml : 웹프로젝트가 실행될 때 가장 먼저 참조되는 파일, 웹프로젝트의 환경설정 정보를 저장하고 있음.


  DispatcherServlet이 모든 요청을 가로챈다.



root-context.xml : 스프링의 환경설정 파일 ,데이터베이스의 연동정보 설정 ex) mybatis 


servlet-context.xml : 서블릿에 관련된 설정 ex) jsp 의 접두어, 접미어 html, css 리소스 파일 설정 정보 등


    HandlerMapping, HandlerAdapter 객체 생성되고 이어서 viewResolver 객체 생성 


home.jsp : 스크립트 언어 자바언어를 기반으로 사용하여 사용자에게 쉽고 빠르게 사용가능 하게 하여주는 언어이다. 여기서는 가장 기본적인 페이지 뷰로 작동



다음 포스팅 - 전체적인 로직 (흐름도) 




'Spring' 카테고리의 다른 글

마이크로서비스에서 DDD 사용하기  (0) 2020.03.05
Spring 날짜 타입 변환  (0) 2019.06.24
Spring 동작원리  (0) 2019.02.27
HTTP Status 404 - /WEB-INF 에러  (0) 2019.02.25
Spring이란 무엇인가?  (0) 2019.02.21

Spring란 무엇인가?


스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다.  


-위키백과 출처


즉 쉽게 이야기하면, 프로젝트의 규모가 커디자 보니, 개발자들의 협업 과정에서 중복되는 부분도 많고, 쉽게 수정 (유지 보수) 하기 위하여 공통 된 것들만 따로 묶어서 사용하기 편리하게 만들어진 오픈소스 프레임 워크 이다.




Spring의 특징은?


  • 경량 컨테이너로서 자바 객체를 직접 관리한다. 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다.
  • 스프링은 POJO(Plain Old Java Object) 방식의 프레임워크이다. 일반적인 J2EE 프레임워크에 비해 구현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요가 없어 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가볍다.
  • 스프링은 제어 반전(IoC : Inversion of Control)을 지원한다. 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출한다.
  • 스프링은 의존성 주입(DI : Dependency Injection)을 지원한다. 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜준다.
  • 스프링은 관점 지향 프로그래밍(AOP : Aspect-Oriented Programming)을 지원한다. 따라서 트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리할 수 있다.
  • 스프링은 영속성과 관련된 다양한 서비스를 지원한다. iBATIS나 Hibernate 등 이미 완성도가 높은 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스를 제공한다.
  • 스프링은 확장성이 높다. 스프링 프레임워크에 통합하기 위해 간단하게 기존 라이브러리를 감싸는 정도로 스프링에서 사용이 가능하기 때문에 수많은 라이브러리가 이미 스프링에서 지원되고 있고 스프링에서 사용되는 라이브러리를 별도로 분리하기도 용이하다.


-위키백과 출처


특징만 딱 읽었을 때는 당최 무슨 소리인지 모르겠다..


요약하자면,


POJO 방식의 프레임 워크이다 : 여러 라이브러리 들을 지원 하기에 바로 사용이 가능하다.


IoC을 지원한다 : 코딩을 할 경우, 개발자는 여러 객체를 생성하고 소멸한다. ( ex new 연산자), 이러한 객체를 생성하고 소멸 하는 생명주기 관리를 Spring 에서 대신 관리 하여 주기때문에 개발자 입장에서는 굉장히 편하다. 


DI을 지원한다 :  데이터베이스를 연동 하는 데 있어서 jdbc를 사용하거나 mybatis, hibernate 등 라이브러리를 사용 하는 여러 경우가 있는데 바뀌거나 다른 것을 사용 할 떄 마다 쉽게 교체가 가능하다. 


AOP을 지원한다 : 예를들어 클래스가 여러개인 프로그램이 있다. 각 클래스 별로 공통인 코드(부분)이 있는데 이러한 공통된 부분들을 따로 묶어서 필요 할  때마다 쉽게 불러서 사용 할 수 있도록 해 준다.  트랜잭션은 쉽게 불러서 사용 할 수 있도록 하는 예이다.


PSA : 각 환경이 달려져도 잘 작동 할 수 있게 하여준다.


Spring MVC : 모델 컨트롤 뷰로 나누어서 유지 보수를 더 쉽게 할 수 있게 하여준다.


'Spring' 카테고리의 다른 글

마이크로서비스에서 DDD 사용하기  (0) 2020.03.05
Spring 날짜 타입 변환  (0) 2019.06.24
Spring 동작원리  (0) 2019.02.27
HTTP Status 404 - /WEB-INF 에러  (0) 2019.02.25
Spring MVC 구성 요소  (0) 2019.02.23

+ Recent posts