스프링 공부

장원녕·2023년 4월 27일

MAVEN : pom.xml을 이용해서 빌드 관리를 용이하게 하기위해 사용
과정 : 저장소를 만들고 프로젝트들이 저장소에 접근해서 라이브러를 불러와서
라이브러리의 중복과 관리를 해결함.

기존 라이브러리 관리 : 사이트 접속 후 라이브러리 다운, 라이브러리 복사 및
클래스 패스에 추가

스프링 : 자바언어를 기반으로한 오픈소스 경량급 어플레케이션. 부품 생성 & 조립

톰캣을 이용해서 무거운 EJB방식을 버렸음

라이브러리 vs 프레임워크

라이브러리 : 이미 완성된 코드를 호출해서 사용

프레임워크 : 완성되지 않은 프로젝트를 사용자가 임의로 만들어서 사용

PSA : 트랜잭션 추상화 서비스
구현부분과 인터페이스로 분리.
=> 작업 흐름과 api 사용 코드를 제거해줌.
=> 일관된 방식으로 기술에 접근할수있게 일관성 있는 서비스 추상화 기술을 제공

DI : 의존성 주입
껍데기부분과 구현부분으로 나뉨

AOP : 애플리케이션 로직을 담당하는 코드에 남아있는 기술관련 별도의 모듈로 관리해주는 기술
공통로직과 비즈니스 로직부분으로 분리

POJO : 객체지향 원리에 충실하면서 환경에 굴하지않고 필요에 따라 재활용 될수 있는 방식으로
설계된 객체(JVM 단독 구현 기능 재활용)

core : 다른 기능과 설정을 분리하기 위한 IOC기능 제공, 스프링의 기본 모듈 제공
context : 스프링의 기본기능으로서 각 기능을 하는 빈에 대한 접근 방법 제공
dao : jdbc 기능을 좀더 편리하게 사용할수있도록함
orm : 하이버네이터나 마이바티스 같은 영속성 관련 프레임워크와 연동된 기능 제공
aop : 관점 지향 기능 제공

느슨한 결합력과 인터페이스 => di 활용 => MVC
트랜잭션 <- aop를 활용

IOC컨테이너 : dl(의존성 검색) = 컨테이너는 어플리케이션 운용에 필요한 객체를 생성
클라이언트는 컨테이너가 생성한 객체를 검색

di (의존 주입) : 객체 사이의 의존 관계를 스프링 설정 파일에 등록된 정보를 바탕으로 컨테이너가 자동으로 처리

Bean :
1. 스프링에서 가장 기본적인 설정 단위
2. 스프링에게 객체를 만들어달란 의미
3. id나 name을 사용 : 스프링 컨테이너에서 참조할떄 사용할 이름
4. class에는 빈의 타입을 알려주고 패키지명, 클래스명을 적어야함.

AnnotationConfigApplicationContext:
자바어노테이션 클래스로부터 객체 설정 정보를 가져옴

GenericXmlApplicationContext:
xml로부터 객체 정보를 가져옴

list : 중복허용
set : 중복 없음 보장, 값의 집합에 사용
map : 키-값 쌍의 컬렉션에 사용,키와 값이 타입에 제한 없음
props : 키와 값 모두 string, 키-값 쌍의 컬렉션에 사용

객체의 경우 ref, 기본타입의 경우 value

profile
희망찬 개발자

0개의 댓글