Step it up now

spring 1218 본문

수업/Spring

spring 1218

케잉 2023. 12. 18. 21:10

POJO -> Spring boot(starter: 의존관계 전이, 자동화 -> 신입개발자 부담↓) -> Spring 5.0 -> 레거시(Spring 4.0초반)

추상클래스와 인터페이스 중심의 코드를 전개할 것 
프레임워크이다 
결합도 낮춘다 
독립적이다 
단위테스트가 가능, 통합테스트도 가능해짐 

실력의 평준화
프레임워크 사용 - 생산성, 팀워크, 일관성, 타팀에 지원도 가능함 
다른 팀에 지원시 가장 문제되는 것은 구조가 다름 

예전에 EJB (Enterprise Java Beans) -> 현재 Spring

spring-web.jar
spring-webMVC.jar 
이런 jar파일들이 모여있는 것 - Sping 
jar들 사이에도 의존 관계가 있다
의존관계를 개발자가 버전관리, 트러블 관리 책임이 부담 
spring부트에서는 스타터 지원으로 자동화, 의존관계 전이까지도 관리


컨테이너=엔진 
ApplicationContext - 자손(하위 클래스가 더 많은 메소드를 누릴 수 있다) - 이른 인스턴스화 지원
BeanFactory - 상위 - 게으른 인스턴스화 


톰캣 - 서블릿 컨테이너이다 
서블릿은 표준이지만 MVC를 지원하지 않음 - 순수 - 강제성이 없다 - 자유롭다 

제어권 없으면- 라이브러리/ 있으면- 스프링 

의존성 주입 
A a = new A ( ); 결합도 강하다, 직접 인스턴스화 했잖아, 메소드의 리턴 타입으로 객체 주입이 되도록 하라 
다형성 

Duck myDuck(추상클래스, 인터페이스)  = new MallardDuck( );
Map map = HashMap ( ); 

코드를 최소한으로 수정하여 처리가 가능하다 

수평적인 관점에서 클래스를 설계하는 것, 관계를 맺는것, 유지보수에 유리하다
개발에도 유리하다(예: 트랜잭션처리 - 자동화, 일관성있게 처리 가능함, 안정감)

영속성(오라클 포함, DB서버)

오픈소스가 다양하다 (힘들다)  

spring - core.jar - 설계적인 관점: IoC지원 - 느슨한 결합 ( 상속으로 처리하지 않음) - 더이상 서블릿이 아니어도 괜찮다 
HttpServlet 을 상속받아야 서블릿이 되어 req, res 주입받을 수 있다 
@Configuration지원 - xml방식에서 java코드를 이용한 환경설정 옮겨옴 

spring - aop.jar  - 공통된 관심사를 분리해서 개발자가 일일히 코딩하지 않고 자동으로 처리하도록 지원 

spring - orm.jar - Hibernate 지원, JAP API 지원

spring - dao.jar - myBatis 같은 라이브러리 지원, DAO계층 지원하고 있다. 

XXXLogic 클래스에서 여러 XXXDao클래스의 메소드를 호출할 수도 있다. (업무적인 복잡도가 높다)

spring - context.jar는 IoC를 지원하는 ApplicationContext 제공함 - AC가 빈 관리에 관여 - 라이프 사이클 관리함 
inti() - service() - destroy()

'수업 > Spring' 카테고리의 다른 글

noticeList.jsp  (0) 2024.01.08
AOP  (0) 2024.01.05
insert 흐름 이해하기  (1) 2023.12.27
restcontroller필기  (1) 2023.12.21
VSCode 설정  (0) 2023.12.18