02_Spring Framework

김정욱·2023년 4월 24일
0

Spring

목록 보기
6/13
post-thumbnail

1) Spring의 특징

⭐ IOC (Inversion of Control)
제어의 반전
컨트롤의 제어권이 개발자가 아니라 프레임워크에 있다
객체 생성부터 생명주기의 관리까지 프레임워크가 주도하고 있다


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


⭐ POJO 기반 프레임 워크 (Plain Old Java Object)
특정 기술이나 라이브러리의 내용을 상속받아 클래스를 구현하지 않고, 일반적인 기본 기능만을
가진 순수한 자바 객체를 의미한다
→ 특정 클래스에 종속되지 않으므로 자바의 객체지향적 설계가 쉬워지고, 코드길이 감소, 
유지보수 증가, 기존 Java API, 라이브러리 지원에 용이

본인이 만든 클래스나 인터페이스의 상속 및 참조는 POJO를 위반하는 것이 아니다.


⭐ Spring AOP (Aspect Oriented Programming)
관점 지향 프로그래밍
트랜잭션, 로깅, 보안 등 여러 모듈, 여러 계층에서 공통으로 필요로 하는 기능의 경우 
해당 기능들을 분리하여 관리한다.

'흩어진 관심사' 라고 표현하며, 소스 코드상에서 계속 반복해서 사용되는 메소드는
유지보수를 어렵게 만든다, 이렇게 흩어진 메소드들을 모듈화하여 묶는다


⭐ Spring JDBC
mybatis 같은 데이터베이스를 처리하는 영속성 프레임워크와 연결할 수 있는 인터페이스 제공


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


⭐ PSA (Portable Service Abstraction)
스프링은 여러 모듈을 사용함에 있어서 별도의 추상화 레이어를 제공한다.

스프링 -> 하이버네이트 사용이 어떻게 가능할까??
스프링에서 정한 표준 인터페이스가 있기 때문에 == JPA(표준 인터페이스)
--> JPA에 POJO를 입힌다

spring 폴더의 경우 환경 설정 파일이 보관된 곳인데, front-end 파트에 노출 시키는 것이 안좋음
따라서 src/main/resources로 이동하여 관리한다.
profile
절박한 마음을 갖고 하루를 보내자!!

0개의 댓글