프레임 워크 시작하기! <기초2>

Joy_all·2021년 3월 22일

Spring Framework

목록 보기
2/2

📒 Spring

java 기반의 웹 어플리케이션을 개발하기 위한 오픈소스 프레임워크 (경량 프레임워크 / 경량 컨테이너)

프레임워크 : 어떤 대상을 구성하는 틀, 뼈대

✔ SW적인 의미 : 기능을 미리 클래스,인터페이스 형태로 만들어놓은 제품
✔ 어느정도 완성되어있는 파일을 조합해서 개발
✔ ex) spring, Android, Jqeury

📕 컨테이너

톰캣(서블릿 컨테이너)- 서블릿 생성,초기화,서비스실행,소멸..(서블릿에 관한 모든 권한을 가지고있기때문)

📕 EJB 프레임워크(Enterprise Java Beans)

기업 환경 시스템을 구현하기 위한 서버쪽 모델, 애플리케이션 비지니스 로직을 포함하는 서버 어플리케이션 -> 무거운 프레임워크

📕 스프링 특징

✔ EJB 보다 가볍고, 배우기쉬운 경량 컨테이너

✔ 제어 역행 (IoC, Inversion of Control) 기술을 사용해서 애플리케이션 간의 느슨한 결합을 제어.
"메서드, 객체의 호출을 개발자가 결정 x, 외부(spring)에서 결정"

✔ 의존성 주입(DI, Dependency Injection) 지원함.
"의존적인 객체를 직접 생성, 제어하는 것이 아니라, 제어의 역행(IoC)으로 특정 객체에 필요한 객체를 외부에서 만들어서 연결"

✔ 관점지향 (AOP, Aspect-Oriented Programming)을 사용하여 자원관리
핵심 기능들과 부수적인 기능들을 분리해서 모듈성을 증가

✔ 영속성과 다양한 서비스를 지원 (DB)
✔ 수많은 라이브러리를 제공

프레임워크가 마트!, 내가 필요한 것들을 꺼내 쓸수 있음!

📕 스프링 프레임워크 주요기능

  • Spring Core : 다른 기능과 설정을 분리하기 위한 IoC 기능을 제공
  • Spring Context : 기본기능, 각 기능을 표현하는 Bean에 대한 접근 방법 제공
  • Spring DAO : JDBC 기능을 조금더 편리하게 사용가능
  • Spring ORM : 하이버네이트, 마이바티스와 같은 영속성(DB) 관련 프레임워크 연동제공
  • Spring AOP : 관점지향 프로그래밍 지원
  • Spring Web : 웹 애플리케이션에 필요한 기능 지원
  • Spring WebMVC : 스프링에서 MVC 구현에 필요한 기능 지원

📒 프로젝트 선택기준

✔ WAS를 사용해본 경험이 있는가? (Tomcat)
✔ 스프링을 써본적이 있는가?
✔ Model2 방식 개발을 경험한적 있는가?
✔ WAS 실행시 에러 처리경험이 있는가?

YES : Spring Legacy Project

  • 거의 모든 스프링 웹페이지
  • 공부할 자료가 많음(구글링자료)
  • 기존의 프로젝트 이해가 쉬움
  • 모든 버전의 스프링 사용가능
  • 초반 설정이 어려움
  • WAS에서 많은 리소스필요함

NO : Spring Starter Project (boot-업데이트 및 최신트렌드 적용)

  • 별도의 설정이 필요없음
  • WAS도 필요없음 (자체 서버 제공)
  • 로딩시간이 짧음(상대적으로 적은 리소스 필요)
  • 기존의 설정과 다른방식
  • jsp설정이 필요함.
profile
beginner

0개의 댓글