일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스 SQL
- Java
- 입출력
- html
- 정보처리기사필기요약
- DML
- 프로그래머스 sql 고득점 kit
- sql문
- 백엔드
- 웹개발
- Linux
- 프로그래밍
- select
- where
- 자바
- 메서드
- Git
- 개발자
- 형변환
- github
- order by
- 데이터 조회
- 스프링
- mybatis
- SQL
- 알고리즘
- 리눅스
- 예외처리
- 자바스크립트
- BufferedReader
- 클래스
- JavaScript
- 프론트엔드
- MySQL
- scanner
- StringBuilder
- 정보처리기사
- select문
- 백준
- String클래스
- Today
- Total
ToBe끝판왕
[ SPRING ] 스프링 개념 , 특징 , 환경설정( 이클립스 설치 ) 본문
Spring ( 스프링 )
• Spring Framework 를 말한다.
• 웹사이트를 만들기 위한 자바기반 프레임워크이다.
• 동적인 웹사이트를 개발하기 위한 여러가지 서비스를 제공한다.
※ 프레임워크와 라이브러리의 차이점 ?
라이브러리는 개발자가 프로그램 개발중에 필요한 것을 직접 추가한다.
하지만, 프레임워크는 필요한 라이브러리와 기능구현에 필요한 설계도 틀을 함께 제공한다.
• 스프링 공식사이트
▶ 스프링( 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 ) 검색해서 설치
설치가 완료되면 이클립스가 재시작된다.
플러그인 설치가 완성되고, perspective 화면을 spring으로 바꾼다.
'■ 프로그래밍 SKILLS > SPRING FRAMEWORK' 카테고리의 다른 글
[ 스프링 시큐리티 ] Spring Security 개념 및 설정 (1) | 2024.12.16 |
---|---|
[ SPRING ] 어노테이션 @PathVariable 과 @RequestParam (0) | 2024.05.22 |