<이공계기술전문연수> Maven 특징 / Spring framework 특징

2019. 11. 4. 17:45· 이공계전문기술연수/Spring Framework

@Maven

-> 자바용 프로젝트 관리 도구
-> pom.xml 프로젝트의 버전정보 및 라이브러리 정보를 통합하여 관리
-> 일반적으로 개발자가 필요한 라이브러리를 직접 추가했지만,
Maven을 사용하면 pom.xml 문서에 사용하고자하는 라이브러리를 등록하여
자동으로 프로젝트에 추가

@Maven의 장점
- 표준 및 외부 저장소를 활용한 편리한 의존관계 라이브러리 관리
- 모든 프로젝트에 대해 일관된 Structure Convention 제시(구조화 된 규약)

Convention 제시 (구조화 된 규약)
- 라이브러리 문서화로 이식성 향상

@@POM
-> Project Object Model 이라는 뜻으로 하나의 프로젝트에서 사용하는
자바버전, 라이브러리, 플러그인 구성을 통합하여 관리할 수 있게 
설정정보를 XML파일에 문서화 한 것

https://maven.apache.org

 

Maven – Welcome to Apache Maven

Welcome to Apache Maven Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. If you

maven.apache.org

 

버전<3.5.3>


@ 프레임워크
-> 사전적의미 뼈대, 틀 
-> 어플리케이션 개발 시 정해진 것 없이 개발을 한다면 체계화 되어있지 않고,
만들어지는 구조가 정해지지 않아서 시간이 오래 걸림

-> 기본구조를 프레임워크가 제공, 개발자입장에서 보면 초급,중급,고급개발자간의 간격
줄여 줄 수 있음

-> 프레임워크로 개발된 어플리케이션은 유지보수가 쉽다.

 

 

 

@ Spring Framework

-> 로드 존슨이 2004년에 만든 오픈소스 프레임워크
-> 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 Spring이라고 부름
-> 대한민국 공공기관의 웹서비스 개발 시 사용을 권장하는 전자정부 표준 프레임워크의 기반
-> 왜 이름이 Spring 일까?
-> 스프링 개발 이전이 개발자에게 겨울이고, 새로운 봄


@ Spring의 특징

1. DI(Dependancy Injection / 의존성 주입)
-> 설정파일이나 어노테이션을 통해 객체간 의존관계를 설정하여 개발자가 직접 의존하는
객체를 생성 할 필요가 없음
MemberService service = new MemberService();
-> MemberService service;


2. Spring AOP (관점 지향 프로그래밍) 
-> DB 트랜잭션 처리나 로깅처리와 같이 여러 모듈에서 공통으로 필요로 하는 기능의 경우
해당 기능을 분리해서 관리


3. Spring JDBC
-> Mybatis, Hibernate 등의 DB영속성 프레임 워크와 연결 할 수 있는 인터페이스를 제공

4. Spring MVC
-> MVC 디자인 패턴을 통해 웹 어플리케이션의 Model, View, Controller 사이의 의존 관계를
DI컨테이너에서 관리하여 개발자가 아닌 서버가 객체들을 관리하는 어플리케이션 구축 가능


STS(Spring Tool Suite)

-> Spring 프레임워크를 사용하기 위한 개발 툴


@Spring IoC

-> inversion of Control 로써 제어의 역행이라는 뜻을 가지고 있음

-> 프로그램 구동시 필요한 객체에 대한 생성, 변경 등의 관리를 개발자가 아닌 컨테이너가
직접 관리 하는 것


@IoC 컨테이너의 역할

-> 객체의 생명주기와 의존성 관리

-생명주기: 생성-> 초기화 -> 사용 -> 소멸
-의존성 : 개발자가 직접 객체를 생성 할 수 있지만 권한을 컨테이너에 맡김으로써
소스코드 구현시간을 단축 할 수 있음


@ Spring DL


-> Dependency Lookup 의존성 검색이라는 뜻으로 컨테이너가 제공하는 API함수로 필요한
Bean을 검색하여 사용하는 방식


@ Spring DI

-> IoC구현의 핵심 기술로, 사용하는 객체를 직접 만드는 것이 아니라 컨테이너가 Bean의
설정정보를 읽어와 자동으로 해당 객체에 연결하는 것


@@DI의 장점


-> 개발자가 작성하는 코드가 단순해 짐
-> 각 객체간 종속관계(결합도)를 해소 할 수 있음

@@객체간 종속관계(결합도)


-> 한 클래스에서 필드객체를 생성 할 때 발생하는 두 객체간의 관계
-> 각 객체간 내용이 수정되는 경우 영향을 미치는 정도

'이공계전문기술연수 > Spring Framework' 카테고리의 다른 글

<이공계기술전문연수> 1. Framework 특징  (0) 2019.11.19
<이공계기술전문연수> Spring MVC  (0) 2019.11.11
<이공계기술전문연수> Spring 결합도 / beanTest / 어노테이션  (0) 2019.11.11
<이공계기술전문연수> Maven 설정  (0) 2019.11.11
<이공계기술전문연수> mybatis 설정 / mybatis 특징  (0) 2019.11.03
'이공계전문기술연수/Spring Framework' 카테고리의 다른 글
  • <이공계기술전문연수> Spring MVC
  • <이공계기술전문연수> Spring 결합도 / beanTest / 어노테이션
  • <이공계기술전문연수> Maven 설정
  • <이공계기술전문연수> mybatis 설정 / mybatis 특징
임쟌
임쟌
임쟌
Jian's Blog
임쟌
전체
오늘
어제

공지사항

  • [자기소개]
  • 쟌's Blog (227)
    • Language (32)
      • Python (8)
      • Go (24)
      • Java (0)
    • Framework (10)
      • Django (9)
      • Gin (1)
      • Spring boot (0)
      • Fiber (0)
    • Database (10)
      • PostgreSQL (8)
      • MySQL (0)
      • Redis (2)
    • Server (51)
      • Linux (16)
      • Git (12)
      • Oracle Cloud Infrastructure (13)
      • Mac (4)
      • Docker (4)
      • RabbitMQ (0)
      • ETC (2)
    • Operating System (0)
      • OS (0)
    • Algorithm (22)
      • Go (22)
      • Python (0)
    • Exam Certification (4)
    • Daily Life (27)
      • Review (21)
      • Diary (6)
    • 이공계전문기술연수 (71)
      • Java (17)
      • Database (8)
      • HTML | CSS (13)
      • JavaScript | jQuery (6)
      • Servlet | JSP (16)
      • Spring Framework (11)

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
임쟌
<이공계기술전문연수> Maven 특징 / Spring framework 특징
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.