Posts Spring 이란?
Post
Cancel

Spring 이란?

Framework

  • 개발자마다 개발하는 스타일이 모두 다르다.

  • 그래서 기본 형식 없이 개발을 하면 유지보수하는데 너무 어렵다.

  • 그래서 아키텍처 제공하고 개발자가 내용(비즈니스 로직)을 덧입히는 형식으로 개발을 하게끔 Framework를 만들었다.

  • 개발자가 바뀌어도 구조자체는 변하지 않기에 유지보수가 보다 용이하다.

Framework의 장점

  • 프로그램의 구현이 빠르다.

  • 검증된 아키텍처의 재사용으로 프로그램의 일관성이 유지된다.

  • 관리가 용이하다.

  • 오픈소스로 구성되어있다.

    • 상속하여 커스터마이징이 가능하다.

Spring의 특징

  • 가볍다

    • 라이브러리의 크기가 작다.

    • POJO를 이용한다.

      • POJO(Plain Old Java Object): Class path를 필요하지 않는 Java Object이다.

      • POJO는 메모리 사용량이 매우 작다.

        • 규칙을 지키기 위해서 여러 객체가 추가적으로 생성되기 때문이다.

        • Servlet을 사용하기 위해서 request, response, ServletConfig 등이 생성된다.

      • POJO는 아무런 규칙이 존재하지 않는다.

        • 규칙 : 제어자, 메소드 이름, 파라미터 등이 정해져있는 것.
  • 컨테이너다

    • 객체를 생성하고, 생성된 객체를 관리한다.

    • xml에 등록된 클래스 객체가 컨테이너 생성시에 바로 생성된다.(Pre Loading)

      • 각 객체는 Heap 메모리에 저장된다.

      • bean 태그의 속성값으로 laze-init=”true”을 지정할 경우 Lazy Loading 한다.

    • Servlet은 Lazy Loading 특성으로 사용자에게 호출되어야만 코드를 읽는다.

    • 내부적으로 Map이 구현되어 있고, id를 key값으로 사용해서 각 value를(객체) 관리한다.

      • 그래서 xml이 어떻게 작성되어있냐에 따라 컨테이너의 동작 방식이 달라진다.
  • IoC(Inversion of Controller)

    • 역제어라는 뜻이다.

      • 반대의 경우를 순제어라고 하며 개발자가 코드로 직접 객체 생성을 명시하는 것이다.
    • 컨테이너가 객체 생성을 대신한다.

    • 이를 통해 자바 소스의 변동 없이 유지보수가 가능하다.

This post is licensed under CC BY 4.0 by the author.

Contents

Trending Tags