일단 Spring 설치하는 방법에 대해 알려주기에 앞서 Part1에선 Spring 이 뭔지 부터 설명과 설치 방법을 알려주겠다.
Spring 이란?
자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로 간단하게 스프링(Spring)이라고 불린다.
동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있으며 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로 쓰인다.
Spring 특징
DI(Dependency Injection) / 의존성 주입
설정 파일이나 어노테이션을 통해 객체간의 의존관계를 설정하여
개발자가 직접 의존하는 객체를 생성할 필요가 없다.
이게 무슨 말이냐면
우리가 보통 클래스 안에 클래스를 만들땐 아래의 소스와 같이 해당 클래스를 객체와 시켜준다.
Class A {
private B b;
public A(){
b = new B();
}
}
위의 상황에서 봤을때 Class A는 B에 의해 의존적이다.
왜 의존적이냐면 Class A는 B가 정상이여야지만 정상으로 될수 있기 때문에 의존적이다.
이걸 알아듣기 쉽게 말하자면 Class A에서 B는 하나의 부품이다.
Class A 내부에서 B 부품을 만들다가 잘못되면 Class A를 생성할수가 없다.
하지만 외부에서 가져온 부품을 쓴다면 Class A 자체를 만드는데는 문제가 없다.
따라서 위 코드에서 의존성 주입을 제거한다면 아래와 같이 소스를 만들수가 있다.
Class A{
private B b;
public A(){}
public void setB(B b){
this.b = b;
}
}
Spring AOP (Aspect Oriented Programming) / 관점 지향 프로그래밍
AOP는 하나의 방법론으로서
트랜잭션, 로깅, 보안 등
여러 모듈, 여러 계층에서 공통으로 필요로 하는 기능의 경우 해당 기능들을 분리하여 관리한다.
POJO(Plain Old Java Object)
POJO는 프레임워크에 종속된 무거운 객체를 만들게 된 것에 반발해서 사용되게 된 용어인대
Spring 에선 POJO를 기반으로 만들었다.
POJO에 대한 자세한 내용은 아래 링크를 통해서 확인하면 될것 같다.
따라서 Spring 은 POJO를 사용하여 일반적인 J2EE 프레임워크에 비해 특정 라이브러리를 사용할 필요가 없어
개발이 쉬우며, 기존 라이브러리의 지원이 용이하다.
IOC(Inversion Of Controll) / 제어 반전
컨트롤의 제어권이 개발자가 아니라 프레임워크에 있다는 뜻으로
객체의 생성부터 모든 생명주기의 관리까지 프레임워크가 주도하고 있다.
객체를 생성하고, 직접 호출하는 프로그램이 아니라, 만들어둔 자원을 호출 해서 사용한다.
이말은 특정 객체를 컨테이너에서 생성하고 관리하여서 해당 컨테이너에서 특정 객체를 가져와서 사용한다는 뜻이다.
근데 왜 Inversion 반전이라는 단어를 썼을까?
Inversion을 쓰게 된 이유는 아래와 같다.
우리가 조립형 컴퓨터를 사게 된다면 아래와 같은것들이 필요하다.
CPU, SSD, 메인보드, 그래픽카드, 쿨러, 파워, 본체케이스
위의 물건들을 가지고 컴퓨터를 조립을 한다.
그래서 보통은 조립을 할때 아래와 같은 순서를 거친다.
CPU, SSD, 쿨러 ---결합---> 메인보드 --결합--> 그래픽카드 --결합--> 파워 --결합--> 본체케이스
이렇게 순서를 통해서 컴퓨터를 조립하게 된다.
위 방식이 IOC와 같은 방식이다.
기존의 결합되어 있는 방식으로 객체를 만들거나 하게 된다면
아래와 같이
Class A -> Class B -> Class C -> Class D
Class A에서 B를 만들고 B에서 C를 C에서 D를 이렇게 만들게 되는데
IOC 방식은 컴퓨터 조립과 같이 작은 부품들을 먼저 조립하여
D -> C -> B -> A
D를 만들어 C에 결합 D+C 만든걸 B에 결합 D+C+B 만든걸 A에 결합 이런 방식으로 만드는것이다.
그래서 기존의 방식과는 반전이 되어 있어서 Inversion을 사용하는것이다.
그럼 이제 Spring에 대해서 알아봤으니 Spring을 다운 받는 방법에 대해서 알아보자.
Spring 다운 방법
Spring 을 다운받는 방법에는 2가지 방법이 있다.
1. Spring 사이트에서 다운을 받는 방법
2. 이클립스에서 Eclipse 마켓에서 다운받는 방법.
나는 2번을통해서 다운받았다.
그럼 각각의 방법에 따라서 만드는 방법을 알아보자.
1. Spring 사이트에서 다운을 받는 방법
위사이트를 들어가서 다운을 받고 알집을 풀어준후 STS.exe 파일을 실행시켜주면 된다.
그럼 설치 완료!
2. 이클립스에서 Eclipse 마켓에서 다운받는 방법.
이 방법은 이클립스를 들어가 상단에 있는 Help -> Eclipse Marketplace 를 들어가서
위 사진처럼 STS를 입력해서 들어가서 내가 표시한 걸 다운 받으면 된다.
다운을 완료 했다면 이제 Spring Legacy Project를 만들면 된다.
그리고 위처럼 프로젝트 명을 입력하고 Spring MVC Project 를 입력하고 Next를 누른다.
그럼 아래와 같은 화면이 나타난다.
여기서는 이제 리소스 폴더의 패키지를 만드는 부분이다. 보통은 패키지를 3레벨로 만든다.
ex)
com.hoho.test
이렇게 만들고 finish를 누르면 끝이다.
이렇게 만들고 나서 이전에 만든 서버에 위에서 만든 Spring 프로젝트를 add 해서
서버를 돌리고 그런 다음에
localhost:포트번호/프로젝트명 를 입력하면 아래와 같은 화면이 나온다.
Part 2를 보려면 아래 링크를 통해서 확인하면 된다.
https://wpioneer.tistory.com/219?category=1051315
'코딩일기 > 날씨앱 만들기 프로젝트' 카테고리의 다른 글
[Spring Boot] Spring Boot(STS) 설치 및 프로젝트 생성 방법 (0) | 2021.10.24 |
---|---|
[Spring] Spring 설치 및 MVC 프로젝트 구조 설명 Part2 (0) | 2021.10.15 |
[Java] Maven 설명 및 설치 방법 (0) | 2021.10.13 |
[API] 기상청 API 호출하기 Part 1(Java / json) (0) | 2021.10.12 |
[Tomcat] Tomcat 이클립스 연동 (0) | 2021.10.11 |