본문 바로가기
Spring

[ Spring ] 스프링 개념정리

by HTT 2023. 2. 9.
스프링의 핵심
- DI (Dependency Injection, 의존성 주입)
: 객체의 결합도를 낮춰줌

2022-11-25 [Spring] IoC(제어의 역전), DI(의존관계 주입)에 대해서 (tistory.com)

- AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)
: 관점을 기준으로 각각의 기능을 나눔

2022-11-25 [Spring] IoC(제어의 역전), DI(의존관계 주입)에 대해서 (tistory.com)

- IoC컨테이너(Inversion of Control, 제어반전)
: 객체의 생명주기, 의존성을 관리

2022-11-24 스프링 - IoC(제어의 역전)컨테이너를 이용해 결합도 낮은 코드만들기 (tistory.com)

- 스프링웹 MVC(스프링의 서브 프로젝트 중 하나) 
: 각각의 역할을 구분하여 결합도를 낮추고 유연성을 높이는 디자인 패턴으로 수정이 용이하다

MVC 패턴이란? (tistory.com)

 

 

스프링의 특징

2022-11-23 Spring에 대해서 (tistory.com)

SOLID(객체지향언어를 이용해서 좋은 클래스를 설계하기 위한 5가지 원칙)

SRP(Single Responsibility Principle - 단일책임의 원칙)
=> 한 클래스는 하나의 책임(기능)만 적용할 수 있도록 설계(변경을 할 때 수정할 내용이 거의 없으면 단일책임원칙을 잘 적용한 것)
=> 계층을 나누는 이유가 이러한 이유 때문이다.
=> MVC패턴의 예

② OCP(Open Close Principle - 개방폐쇄의 원칙)
=> 소프트웨어는 확장(기능추가)에는 열려있어야하고 변경(기존에 실행이 잘 되는 코드에는)에는 닫혀있어야 한다.
     기존의 코드를 변경하지 않고 기능을 추가할 수 있어야 한다.정책이나 요구사항이 변경되어도 코드가 수정되면 안 된다.
=> 다형성을 이용해서 인터페이스와 구현을 분리

③ LSP(Liskov substitution principle, 리스코프 치환 원칙)
=> 상위 타입의 객체를 하위 타입의 객체로 치환해도 상위 타입을 사용하는 프로그램은 정상적으로 동작해야 한다.

④ ISP(Interface Segregation Principle, 인터페이스 분리 원칙)
=> 구현체 스스로가 사용하지 않는 기능에 영향받지 않아야 한다.
     인터페이스 분리 원칙은 인터페이스는 자신의 쓰임새와 사용에 맞게끔 분리해야 한다는 원칙이다.

⑤ DIP(Dependency Inversion Principle - 의존관계 역전의 원칙)
=> 개발을 할 때는 추상에 의존해야 한다. 즉 상위 인터페이스를 이용해서 개발하도록 작성해야 한다.
=> 구현된 클래스(하위클래스)에 의존하면(사용하면) 안 된다(추상화에 의존해야 하지 하위클래스를 직접 쓰지 말아야 한다).
ex) CustomerDAO dao = new MybatisCustomerDAO();    → XX     
      CustomerDAO dao;   → O

 

 

JDBC(Java Database Connectivity)
java를 DBMS와 연동하기 위한 기술(java프로그램에서 SQL문을 실행하기 위해서 제공되는 API)

2022-11-11 JDBC 이론 정리 (tistory.com)

 

'Spring' 카테고리의 다른 글

프레임워크(Framework)와 라이브러리(Library)의 차이점  (0) 2023.01.19
2023-01-17 JAVA 미세먼지API  (0) 2023.01.17
Maven이란?  (0) 2023.01.16
2023-01-16 JSON, AJAX 랭킹정보  (0) 2023.01.16
2023-01-04 트랜잭션 처리하기  (0) 2023.01.04

댓글