[Spring] Spring이란?

Use_Silver·2022년 2월 16일
0

Spring

목록 보기
1/10
post-thumbnail
#. Spring 에 관하여 ^^
 ---------------------------------------------------------------------------------------

#. 스프링(Spring) 목적 : 내용이 변해도 java code를 수정하지 말자.

#. 스프링(Spring)
  - 2002 에 등장
  - 2004 : [ spring 1.0] : 	DIxAOP Container <-- Bean 정의 파일에서부터 시작 

		Bean 정의 간략화

  - 2006 : [ spring 2.0] : 	Bean 정의 파일 --> xml 형식으로 전환 , @(애노테이션) 에 대한 고려 

  - 2007 : [ spring 2.5] :	@(애노테이션) 강화 
  - 2009 : [ spring 3.0] : 	@(애노테이션) 강화 , 도입 
 
  - 2011 : 	    : 클라우드 시대 
 ---------------------------------------------------------------------------------------
#. Spring 개발환경 => [참조 ] https://hothoony.tistory.com/771

->  STS 3.9.14 (eclipse 4.8.0) / Eclipse 2020-03 / JDK 8+ / Tomcat 9.0 / Maven (3.5.1)
->  Spring Framework (5.2.x release)

	- File Type : UTF-8
	- RunTime Server : Tomcat9.0 추가
 ---------------------------------------------------------------------------------------

 -- Struts     Spring     Hibernate     JPA      Ibatis     Mybatis  --

 Java 기반 Framework

 [ Presentation ] 	Struts(MVC), Spring(MVC)

 [ Business ] 	Spring(DI*IoC,AoP)

 [ Persistence ] 	([ORM] Object Relation Mapping : DB연동) 
		Hibernate     JPA      Ibatis     Mybatis

---------------------------------------------------------------------------------------
#. Framework 
	- 사전적의미 : 구조 또는 뼈대
	- S/W 의미  : 기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품
	- 시간/일정이 보장될 수 있다. --> 개발 생산성 높임
	- 유지보수, 확장성도 보장

#. 스프링 프레임워크(Spring Framework)

	- Java Web Application 개발을 위한 오픈 소스 프레임워크
	- EJB(Enterprise Java Bean)보다 가벼운 경량 프레임워크

#. 컨테이너(Container) 

  - Apache Tomcat 
		<-- Servlet 컨테이너(Container)
		--> Servlet 생성, 초기화, 서비스 실행, 소멸 등의 모든 권한 관리

  - Spring Framework 
		<-- Bean 컨테이너(Container) : DIxAOP 컨테이너 	
		--> Bean 모든 권한 관리

		- EJB(Enterprise Java Bean)보다 가벼운 경량 컨테이너로 수행
		- DI(Dependency Injection) 기능 지원 : 의존성 주입
		- IoC(Inversion of Control) Container : 제어역행
		- AOP(Aspect-Oriented Programming) 기능 지원 : 관점지향 프로그래밍
		- 타 Library와의 연동 기능 지원

		- Java/JavaEE 표준

#. 경량 컨테이너 <-- 설계

	- POJO : Plan Old Java Object 
	- 컨테이너와 프레임워크 등에 의존하지 않고, 주기/관계를 해결하는 아키텍처로 구현 
	- 선언적 트랜잭션 관리

	예) DIxAOP 컨테이너 	

- IoC(Inversion of Control) Container : 제어역행
- AOP(Aspect-Oriented Programming) 기능 지원 : 관점지향 프로그래밍
profile
과정은 힘들지만😨 성장은 즐겁습니다🎵

0개의 댓글