ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 01 Spring DI 흉내내기(1)
    Spring/02 Spring DI와 AOP 2023. 6. 21. 22:23
    반응형

    Spring DI 흉내내기

    1) 변경에 유리한 코드(1) - 다형성, factory method

     

    - 다형성을 통한 변경 포인트 줄이기

    >> SportsCar Truck 변경

    >> 변경 포인트가 2군대 이지만 Car의 클래스로 만들면 변경 포인트가 1군대이다(다형성을 사용)

    다형성 : 조상타입의 참조 변수로 변경하면 변경 포인트가 하나로 줄어다

    >> 단점 : 사용할 때마다 코드를 변경해야 된다

     

     

    - 메서드를 통한 객체 생성(factory method)

    >> 변경할 메서드만 변경(변경 포인트가 더 줄어들었다

     

     

     

    1) 변경에 유리한 코드(2) - Map과 외부 파일

    >> Properties p = new Properties( ); Propertiesmap형태의 (String, String)으로 저장

    반면 Map(Object,Object)로 저장

    >> Properties를 사용하는 이유는 파일을 읽어오는 load( )가 사용하기 편하기 때문이다

    >> 프로그램 변경 없이 config.txt파일 변경

    [config.txt]Dispatcher-Servlet 스프링의 기본전략 =Key값과 Value값을 구분

     

    분리

    변하는 것, 변하지 않는 것 관심사 중복코드(AOP)

     

    main1.java

     

     

    - Object 변경

     

    Main1.java

     

     

    2) 객체 컨테이너(ApplicationContext) 만들기

    >> Properties(String, String) 저장 Map (String, Object) 저장으로 변경

    >> [config.txt]class를 다른걸로 변경해도 변하는 부분을 변경하지 않고 다른 클래스를 사용 할 수 있게 변경 가능

    getBean: 자바빈, , 자바객체 : spring에서는 Bean이란용어를 사용

     

     

    main2.java

     

    main2.java (Propertiesmap 변경)

    >> 하드 코딩은 없어지고, config.txt파일로 잃을 수 있다

     

     

    3) 자동으로 객체 등록하기 - Component Scanning

     

     

     

    guava Libray 설치

     

    main3.java

     

     

     

     

     

     

    반응형

    'Spring > 02 Spring DI와 AOP' 카테고리의 다른 글

    06 Spring으로 DB연결하기  (0) 2023.06.30
    05 Spring DI 활용하기(2) - 이론  (0) 2023.06.28
    04 Spring DI 활용하기(1) - 이론  (0) 2023.06.26
    03 Spring DI 활용하기-실습  (0) 2023.06.23
    02 Spring DI 흉내내기(2)  (0) 2023.06.22
Designed by Tistory.