웹 프로젝트

Spring Boot

JaeHyunShin 2021. 2. 2. 00:35

Spring에 대해서 착각했던 것이 있다.

Spring을 웹을 만드는 도구라고 생각하고 있었다. 

그런데, Spring은 웹을 만드는 도구가 아니라 Dependcy Injection을 이용하여 JAVA 애플리케이션을 만들 수 있는 프레임워크이다. 여기에서 추가적으로 웹 MVC 모듈을 제공하여 웹을 효과적으로 만들 수 있도록 도와준다. 

 

 

스프링이란? 

   POJO방식의 

스프링의 핵심이 POJO 프로그래밍이란는 사실은, 스프링의 핵심을 가장 잘 나타내고 알려진 스프링 삼각형을 통해서도 알 수 있다.

( 출처: https://java.ihoney.pe.kr/398 [허니몬(Honeymon)의 자바guru]) 

  스프링 프레임워크, 스프링 부트

  스프링 데이터, 스프링 시큐리티, 스프링 클라우드 등..

 

 

스프링 프레임워크

   1) 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타

   2) 웹 기술: 스프링 MVC, 스프링 Webflux

   3) 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML지원

    

 

 

Spring POJO

 스프링 애플리케이션은 POJO를 이용해서 만든 애플리케이션 코드와, POJO가 어떻게 관계를 맺고 동작하는지를 정의해놓은 설계정보로 구분된다. 

 

 POJO의 조건

  1) 특정 규약에 종속되지 않는다.

        POJO는 자바 언어와 꼭 필요한 API 외에는 종속되지 않아야 한다. EJB와 같이 특정 규약을 따라 비즈니스 컴포넌트를 만들어야 하는 

        경우는 POJO가 아니다. 특정 클래스를 상속해서 만들어야 하는 규약이 있는 경우도 마찬가지다. 

  2) 특정 환경에 종속되지 않는다.

        환경에 독립적이어야 한다.

  POJO의 장점

    1) 특정 기술과 환경에 종속되지 않은 오브젝트는 그만큼 깔끔한 코드가 될 수 있다.

    2) POJO로 개발된 코드는 자동화된 테스트에 매우 유리하다.

    3) 객체지향적인 설계를 적용할 수 있다.

   

 

  정리하자면, 개발자가 비즈니스 로직에 집중할 수 있는 여건을 마련해준다. 

 

  스프링의 AOP 프레임워크는 Proxy 기반으로 동작한다.

  Proxy는 컴퓨터쪽에서 많이 사용하는 단어로 다음과 같이 정의된다.

   a person who has been given authority to represent somebody else

 

   스프링 AOP가 Proxy 기반으로 동작한다는 것은, AOP를 적용을 원하는 기능을 수행하는 타겟 오브젝트 그 앞단에 proxy 오브젝트를 하나 나 더 세워 그 proxy가 부가 기능을 수행하고 실제 오브젝트로의 호출까지 담당하는 것이다. 

'웹 프로젝트' 카테고리의 다른 글

Docker 컨테이너 관련 커맨드 사용법  (0) 2021.02.01
Swagger  (0) 2021.01.31
Django Model 관련한 공부  (0) 2021.01.23
카이스트 친구와 함께하는 장고 공부  (1) 2020.12.31
서버 관련 개념  (0) 2020.01.20