57. Spring

sumin·2023년 9월 25일
0

아카데미

목록 보기
58/82
post-thumbnail

Spring sts 3.9.18

Framework

애플리케이션의 기본 구조를 제공하는 것이 프레임워크이다.
애플리케이션을 개발할 때 사용할 수 있도록 미리 만들어 놓은 클래스나 인터페이스등을 제공한다.

장점

  1. 처음부터 다 만들 필요가 없다.
    • 이미 만들어진 기능을 가져다 사용하기 떄문에 효율성이 높고 품질이 보장된다.
  2. 개발 방법이 정해져 있다.
    • 개발의 표준화로 인해서 생산성이 높아진다.
    • 개발 후 유지 보수 및 기능의 확장이 용이하다.
    • 신입 개발자도 경력자 처럼 세련된 코드를 작성할 수 있다.

Spring FrameWork의 구조


Spring FrameWork의 특징

  1. 경량 프레임 워크
    • EJB에 비해 가벼운 경량 프레인워크이다.
    • 몇개의 모듈과 jar 파일로 구성
  2. 컨테이너를 지원한다.
    • 특정 개체의 생성과 관리를 감강하며 객체 운용에 필요한 다양한 기능을 제공한다.
    • singleton, prototype 등 여러 형태의 객체를 운용할 수 있다.
  3. 제어의 역행(IoC)
    • 객체의 생성을 개발자가대신 컨테이너가 담당한다.
    • 애플리케이션을 구성하는 객체 간 결합을 느슨한 결합 (낮은 결합도)으로 유지한다.
  4. 관점지향 프로그래밍(AOP)
    • 비즈니스 메소드를 구성하는 공통 모듈과 핵심 모듈을 분리하여 작성한다 .
    • 모든 비즈니스 메소드가 반복해서 사용하는 공통 로직을 핵심 비지니스 로직과 구분하여 작성한다.

Maven

pom.xml

  1. 메이븐 프로젝트 정보 : 프로젝트 이름 , 개발자 목록 , 라이선스 정보 등
  2. 빌드 설정 : 빌드 툴 , 소스 리소스 , 플러그인 등
  3. 빌드 환경 : 사용자의 환경마다 달라질 수 있는 프로파일 정보
  4. POM 연관 정보 : 의존 프로젝트 , 상위 프로젝트 , 하위 모듈 등

IoC(Inversion of Control)

제어의 역전
개발자가 프로그램을 제어하지 않고 Framework가 프로그햄을 제어하는 것을 의미한다.
객체 생성 의존관계 설정(dependency), 생명주기(Lifecycle)등을 프레임워크가 직접 관리하는 것을 말한다

IoC 컨테이너

  • 컨테이너(Container): 객체의 생명주기를 관리하고 생성된 인스턴스를 관리한다.
  • Spring Framework 에서 객체를 생성과 소멸을 담당하고 의존성을 관리하는 컨테이너를 IoC 컨테이너라고 함다.
  • IoC 컨테이너 = 스프링 컨테이너

IoC 컨테이너의 구조

Bean

spring Container에 의해서 관리되는 POJO(Plain Old Java Object)를 의미한다. 쉽게 말하면 자바 객체가 곧 Bean이다.


Bean 만드는 법
src/main/resources 의 각 메소드에 xml 파일을 만든다.

<beans> </bean>안에  
<bean class="클래스가 있는 주소" id="이름(별칭)">
	<property name="필드이름" value="" />				
                    or
    <constructor-arg value=""/>  // consrtuctor은 순서대로 입력해 주어야 한다. 
        						  // value 대신에 ref를 쓰는 경우는 필드로 클래스를 참고하는 경우이다.
</bean> 을 넣는다. 
Namespace 탭의 'p' 옵션 체크로 <property> 태그를 속성으로 넣을 수 있다.
  -> <bean class="com.gdu.app01.xml02.User" id="user" p:userNo="1" p:userId="admin" />
profile
백엔드 준비생의 막 블로그

0개의 댓글