일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- annotation
- GUI
- 자바 #java #이클립스 #eclipse #switch #switch문 #사칙연산 #계산기 #calculator #간단한계산기
- 알고리즘
- 계산기GUI
- Swing
- Java
- Spring
- 계산기
- 숫자정렬
- 버블소트
- 버블정렬
- 자바 계산기
- 내림차순정렬
- MVC
- 스프링
- 어노테이션
- 자바GUI
- 자바
- 이클립스
- 이클립스 #이클립스단축키 #자바 #자바단축키
- 오름차순정렬
- 자바알고리즘
- Eclipse
- 배열정렬
- Today
- Total
온 코딩
[Spring] 기본 개념 및 구조 본문
Spring은 XML문서를 만져야하기 때문에 오류가 잦으니 조심,,,
Spring MVC
- MVC와 작동방식이 같음
1. 구조
- 이름 따로 설정 불가
1) DispatcherServlet
- 브라우저로부터 송신 된 request를 일괄적으로 처리
2) HandlerMapping (ActionFactory 역할)
- requestURL과 Controller클래스의 맵핑처리
3) Controller
- Action 들 모음
- 비즈니스 로직을 호출하여 처리결과의 ModelAndView 인스턴스를 반환
4) View
- .jsp(프레젠테이션층 - 출력)
5) ViewResolver
(url 변수가 가자고 있는 값)
- Controller 클래스로부터 반환된 View이름을 기본으로 이동처가 되는 View 인스턴스를 찾음
2. 개념정리
자바 기반 : 멀티 스레드로 실행 됨
jsp/servlet 기반이기 때문에 세션관리 따로 하지 않아도 됨
가볍게 사용할 수 있는 경량 프레임워크!
이미 기본 구조를 가지고 있는 것을 프레임워크라고 함
- DI : 의존성 주입
- AOP : 강점 지향 형태 설계
스프링 프레임 워크 : DI x AOP 컨테이너를 중심으로 스프링 MVC와 스프링 JDBC등을 포함하는 대중적인 제품
스프링을 사용하는 이유
: 플랫폼 작업 등 큰 작업을 할 때 사용
+
jsp는 자바코드에 html과 같은 꾸미기 요소를 넣기 위해 생김
-> 이후 jsp 안에 들어가는 <% %>부분이 jstl/ <%= %>부분이 el 방식으로 변환
3. 특성
1) 애플리케이션 아키텍쳐
개발효율을 높여줌
- 의도 파악이 쉬움
- 구조가 간단
- 테스트가 쉬움
유연함
- 변경에 유리
- 기능 추가 쉬움
- 변화에 대응 가능 (견고한 구조)
=> 사용자의 요구와 개발자, 운영자의 요구를 모드 만족할 수 있는 애플리케이션 아키텍쳐가
프레임워크나, 라이브러리로 구현되어 메뉴얼과 함께 제공 됨
2) 논리층(레이어)
- 프레젠테이션층
: UI, 일반적으로 Controller나 Action이 이름에 붙음
: MVC 기본패턴에 따라 Controller 부분에는 servlet 사용
: 클래스 간 연결에는 인터페이스로 연결 ( 부품화 시 필수 )
- 비지니스로직층 : 일반적으로 Service가 붙은 클래스
- 데이터엑세스층 : DAO
- 컨트롤러 : 화면전환, 동작제어, 세션관리
물리층(티어)
4. 참고
-Spring MVC( 웹애플리케이션 MVC 프레임워크)
-Spring Batch( 배치처리용 프레임워크)
-Spring Security( 인증 허가 프레임워크)
-Spring Integration( 시스템 연계 프레임워크)
-Spring Data( 데이터 접근 추상화 프레임워크)
스프링 부트는 자주 사용하는 프로젝트 조합 준비 , 설정을 자동으로 수행 , 서버 포함하고 있다
=> 개발자가 적은 양의 애플리케이션 코드를 작성해서 바로 실행 할 수 있다
=> 드롭위저드 비슷한 개념으로 만들어진 프레임워크 보다 많은 예제와 자료가 있다
=> 웹애플리케이션 뿐 아니라 명령행 인터페이스 (CLI , Command Line 에서 동작하는 콘솔 프로그램이나 배치 ( 프로그램을 만들때도 사용)
+
logback : 알아서 로그값(실행중인 과정)을 보여줌
- .log4j 기반으로 성능은 10 배빠르고 메모리 사용량은 적다 .
- 로그 설정변경 시 재시작 없이 바로 적용됨
- 구현체로 slf4j(Simple Logging Facede for Java) 를 함께 사용
trace : 모든 로그 출력
debug: 개발할 때 디버그 용도로 사용
info: 상태 변경 등과 같은 정보서 메 시지를 나타냄
warn : 프로그램의 실행에는 문제가 없지만 추후 시스템 에러의 원인이 될 수 있다는 경고성 메시지를 의미
error: 요청을 처리하던 중 문제가 발생한 것을 의미
스프링의 인터셉터는 어떤 URI 를 호출했을 때 해당 요청의 컨트롤러가 처리되기 전 또는 후에 작업을 하기 위해 사용된다 . 이러한 역할은 필터와 인터셉터로 수행
- 필터 : 디스패쳐 서블릿 앞 단에서 동작
- 인터셉터 : 디스패쳐 서블릿 핸들러가 컨트롤러로 가기 전에 동작
인코딩은 필터로 클라이언트 요청에 관련된 처리는 인터셉터로~
스프링은 개념을 이해 못하면 구현이 어렵기 때문에 따로 미리 공부를 해 놓을 것!
'복습 ARCHIVE > 모델별 프로젝트' 카테고리의 다른 글
[MVC](온라인쇼핑몰) js 파일 목록 (0) | 2021.06.09 |
---|---|
[MVC](온라인쇼핑몰) Action모음 및 ActionFactory (0) | 2021.06.09 |
[Model2](게시판) 완성본 및 화면 (0) | 2021.06.08 |
[Model1] test_poll / 투표시스템_파일첨부 (0) | 2021.06.08 |
JSP Model1 / Model2 (0) | 2021.06.08 |