ToBe끝판왕

[ SPRING ] 스프링 개념 , 특징 , 환경설정( 이클립스 설치 ) 본문

■ 프로그래밍 SKILLS/SPRING FRAMEWORK

[ SPRING ] 스프링 개념 , 특징 , 환경설정( 이클립스 설치 )

업그레이드중 2022. 6. 6. 19:16
반응형

 


 

Spring ( 스프링 )

 

•  Spring Framework 를 말한다.

•  웹사이트를 만들기 위한 자바기반 프레임워크이다.

•  동적인 웹사이트를 개발하기 위한 여러가지 서비스를 제공한다.

 

※ 프레임워크와 라이브러리의 차이점 ?

라이브러리는 개발자가 프로그램 개발중에 필요한 것을 직접 추가한다.

하지만, 프레임워크는 필요한 라이브러리와 기능구현에 필요한 설계도 틀을 함께 제공한다.

 

 

•  스프링 공식사이트

https://spring.io/

 

Spring makes Java simple.

Level up your Java code and explore what Spring can do for you.

spring.io

 

 

▶ 스프링( Spring ) 의 주요 특징

 

1) IoC( Inversion of Control , 제어의 역전 )

•  객체의 생성부터 소멸까지 객체 생명주기 관리를 개발자가 아닌 스프링( 컨테이너 ) 이 대신해주는 것을 의미한다.

•  제어권이 개발자가 아닌 IoC에 있다. ( IoC가 개발자의 코드를 호출하여 생명주기를 제어 )

•  대규모 프로젝트에 유용하다.

•  제어권이 컨테이너로 넘어옴으로써 DI , AOP가 가능하게 되었다.

 

2) DI( Dependency Inject, 의존 주입 )

•  객체간의 의존성을 소스코드 내부가 아닌 외부( 설정파일)  에서 주입하는 방식이다.

•  코드 재사용을 높여서 소스코드를 다양한 곳에 사용할 수 있고 모듈간의 결합도도 낮출 수 있다.

•  각각의 계층이나 서비스들 간에 의존성이 존재한다면 프레임워크가 자동으로 서로 연결시켜준다.

 

3) AOP( Aspect Orientation Programming , 관점지향 프로그래밍 )

•  여러 객체에 공통으로 적용할 수 있는 기능을 구분함으로써 재사용성을 높여주는 프로그래밍 기법이다.

•  로킹 / 트랜잭션 / 보안 등 여러 모듈에서 공통적으로 사용하는 기능을 분리하여 관리할 수 있다.

•  흩어진 Aspect들을 모아서 모듈화 하는 기법이다.

 

※ Aspect란 ?

•  객체지향 언어의 Class와 비슷한 개념이라고 생각하면 쉽다.

•  도메인 로직을 담은 핵심기능은 아니지만, 많은 객체에 걸쳐서 필요한 부가기능을 추상화 해놓은 것

 

4) POJO( Plain Old Java Object )

•  객체지향적인 원리에 충실하며, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로

    설계된 객체를 말한다.

•  일반적으로 우리가 알고 있는 Getter / Setter메서드와 같이 기본적인 기능만 가진 자바객체를 말한다.

 

 

▶ 스프링( Spring ) 환결설정

 

•  sts 설치

[ Help ] 탭의 [ Eclipse Marketplace ] 를 클릭한 후, sts( sprint tool suit ) 검색해서 설치

Eclipse Market 열기

 

sts 검색하고 설치버튼 클릭

 

confirm 클릭

 

동의하고 끝내기

 

설치가 완료되면 이클립스가 재시작된다.

 

 

플러그인 설치가 완성되고, perspective 화면을 spring으로 바꾼다.

 

서버 설정

 

 

 

 

 

 

 

 

반응형
Comments