본문 바로가기
괴발개발/java

Spring Framework

by 맛길만걷자 2024. 8. 1.
728x90
반응형

Spring Framework 란?
자바플랫폼을위한오픈소스애플리케이션프레임워크로간단하게스프링(Spring)이라고도불린다.

 

개발자                                         프레임워크

new객체()             ->                        new객체() 프레임워크가 직접 관리함         
Object                  ->                         Bean

Instance              ->                         Bean  (프레임워크가 만든객체)

@여기로 주입해줘(어노테이션) <- 객체를 만드는걸 개발자가 직접이 아니라 프레임워크한테 의존, 생성된객체를 지급받음 IOC 제어반전.

Service service;                           


★ Spring Framework 의특징

 

IOC (Inversion of Control) 제어반전
컨트롤의제어권이개발자가아니라프레임워크에있다는뜻으로 객체의생성부터모든생명주기의관리까지프레임워크가주도하고있다. 객체를생성하고, 직접호출하는프로그램이아니라, 만들어둔자원을호출해서 사용한다.


DI (Dependency Injection) 의존성주입

설정파일이나어노테이션을통해객체간의의존관계를설정하여 개발자가직접의존하는객체를생성할필요가없다

 

POJO 기반프레임워크 (Plain Old Java Object) -> 더이상 상속받지 x

 

J2EE, EJB와같은특정기술이나라이브러리의내용을상속받아클래스를구현하지않고일반적인기본기능만을가진순수한자바객체를의미한다.

특정클래스에 종속되지않으므로자바의객체지향적설계가쉬워지고, 코드길이감소, 유지보수성증가, 기존Java API, 라이브러리지원에 용이하다.

* J2EE(Java2 Enterprise Edition) : Servlet, JSP 레벨의서버프로그래밍인터페이스

* EJB(Enterprise Java Bean) : 쉽게웹개발이가능한기술, 객체지향장점을포기해야하는문제점발생


Spring AOP (Aspect Oriented Programming) 관점지향프로그래밍

트랜잭션, 로깅, 보안등여러모듈, 여러계층에서공통으로필요로하는 기능의경우해당기능들을분리하여관리한다.

 

AOP 흐름사이에 관여한다.

 

Spring JDBC

Mybatis나Hibernate 등의데이터베이스를처리하는영속성프레임워크와 연결할수있는인터페이스를제공한다.

 

Spring MVC

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

 

PSA (PortableService Abstraction)

스프링은다른여러모듈을사용함에있어별도의추상화레이어를제공한다. 예 를들어JPA를사용할때에서Spring JPA를사용하여추상화하므로실제구현에 있어서Hibernate를사용하든EclipseLink를사용하든개발자는 이모듈의의존없이프로그램에집중할수있다

 

             

728x90
반응형