본문 바로가기

목록이 없습니다.

[Spring] @Autowired annotation(어노테이션)

Framework/Spring


    Framework가 등장하게 된 계기는 유지보수를 좀 더 효율적으로 운영하기 위해서 그리고 생산성을 높이기 위해서라고 해요

    (쉽게 말해서 좀 더 편하게 하기 위해서.. i++ )


    Framework는 언어별로 그리고 기능별로 종류가 엄청 많은데요 그 중에서 Spring Framework라는 자바 기반 프레임워크를 차근차근 살펴볼게요


    Spring Framework에서 유용한 기능들이 아주 많~이있는데 그중에서 오늘은 @autowired 어노테이션을 정리해보려고 해요!




    1. 코드


    Car라는 클래스에 tire라고 하는 속성을 만들 때 보통은 다음과 같은 코드를 작성하게 되요



    1
    2
    3
    4
    5
    6
    7
    8
    9
    Tire tire;
     
    public Tire getTire() {
        return tire;
    }
     
    public void setTire(Tire tire) {
        this.tire = tire;
    }
    cs





    여기서 getter, setter도 쓰기 귀찮아서, 보기 안좋아서 생략하고 싶어서 Spring 개발팀이 만든것이 바로 이것이에요!


    1
    2
    3
    4
    import org.springframework.beans.factory.annotation.Autowired;
     
    @Autowired
    Tire tire;
    cs





    이렇게 하면 getter, setter를 만들지 않아도 SpringFramework가 알아서 설정파일을 통해서 getter, setter의 일을 대신 해줘요


    아래는 변경된 Spring 설정 파일이에요



    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <!--?xml version="1.0" encoding="UTF-8"?-->
    <beans xmlns="http://www.springframework.org/schema/beans" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:context="http://www.springframework.org/schema/context" 
      xsi:schemalocation="http://www.springframework.org/schema/beans 
      http://www.springframework.org/schema/beans/spring-beans.xsd
      http://www.springframework.org/schema/context
      http://www.springframework.org/schema/context/spring-context-3.1.xsd">
     
    <context:annotation-config>
     
    <bean id="tire" class="expert004.KoreaTire"></bean>
     
    <bean id="americaTire" class="expert004.AmericaTire"></bean>
     
    <bean id="car" class="expert004.Car"></bean>
     
    </context:annotation-config></beans>
     
    cs



    참고 : http://expert0226.tistory.com