동적 웹 사이트를 개발하기 위한 서비스를 제공하는
자바 기반 오픈소스 애플리케이션 프레임워크
스프링 프레임워크의 장점
1. 경량 컨테이너
- 자바 객체를 직접 관리
2. 제어 역행 (IoC : Inversion of Control)
- 애플리케이션의 느슨한 결합을 도모
3. 의존성 주입 (DI : Dependency Injection)
- 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜준다
4. 관점지향 프로그래밍 (AOP : Aspect Oriented Programming)
- 트랜잭션이나 로깅 , 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리할 수
있다
5. 모델 뷰 컨트롤러 패턴
- 웹 프로그램밍 개발 시 표준적인 방식으로 여겨지는 'Spring MVC'라 불리는 모델 뷰 컨트롤러 (MVC) 패턴을 사용한다 .
단점은 복잡한 환경설정
환경 구축에는 두 가지 방법이 있는데
1. 이클립스에 STS (Spring Tool Suite) 플러그인 추가
2. STS 프로그램을 다운
최근 이클립스 플러그인이 문제가 조금 있다고 하여 2번을 택했다.
https://github.com/spring-attic/toolsuite-distribution/wiki/Spring-Tool-Suite-3
지금 사용하는 이클립스 버전이 낮기 때문에 STS도 낮은 버전을 다운 받아 설치했다.
첫 실행시 워크스페이스 디렉토리 경로를 설정하게 된다.
첫 실행 화면
왼쪽 하단의Pivotal tc Server는 사용하지 않기 때문에 지웠다.
하단의 서버 이름을 우클릭해서 한 번 지우고,
Window - Preferences 메뉴로 진입하여 또 한 번 지워야 한다.
이클립스를 처음 깔았을 때 가장 먼저 한글 인코딩 설정을 해주었던 것처럼,
STS에서도 한글 인코딩 설정을 가장 먼저 해야 한다.
Windows - Preferences 에서
MS949를 전부 UTF-8로 변환한다.
다이나믹 프로젝트를 한 번 생성해 본다.
이클립스에서 만드는 과정과 동일하다.
다이나믹 프로젝트 생성에 성공했다.
WebContent 하위에 index.jsp 파일을 생성해보았다.
아직까지는 이클립스에서 생성하던 것과 크게 다르지 않은 모습이다.
이제 Spring MVC 프로젝트를 생성해본다.
메이븐으로 라이브러리를 관리하기 때문에 생성시 라이브러리 다운을 한다.
추후 필요한 디펜던시를 pom.xml에 추가하면 된다.
메이븐 프로젝트와 구조는 비슷하다.
프로젝트를 실행해본다.
한글 값이 깨져서 나온다..
왜냐면 한글 인코딩 설정이 안되어 있기 때문이다.
다시 실행하면 한글이 잘 나온다.
'스프링' 카테고리의 다른 글
인터셉터 (0) | 2022.10.04 |
---|---|
Model 객체 (2) (0) | 2022.10.04 |
Model 객체 (1) (0) | 2022.10.04 |
DI, Dependency Injection / Constructor DI, Setter DI (0) | 2022.09.29 |
Spring MVC의 흐름 (0) | 2022.09.29 |