스프링 -2

김정현·2024년 7월 8일
0

Spring

목록 보기
2/14

  • 안 쓰는 import 자동 제거

스프링 설정 - @Configuration 애노테이션이 붙어 있는 클래스
AppCtx
@Bean 애노테이션 : 메서드명 위에 -> 수동 등록 빈

@ComponentScan("스캔범위")
-스프링 컨테이너가 생성할 객체의 클래스를 스캔할 범위

  • 스프링 컨테이너
    -객체 생성
    -스캔 범위가 설정되어 있으면 그 범위를 스캔
    -스캔 기본 대상에 해당하는 클래스이면 -> 객체 생성

@Component
@Service

-특정 기능과 관련된 애노테이션-

- 의존성 주입

-@Autowired
1) 멤버 변수 위
2) setter 메서드 위
3) Optional 형태로 감싼 구조 / 멤버 변수, setter 메서드
4)@Autowired 애노테이션을 사용하지 않고 의존성 주입
-생성자 매개변수에 의존성을 정의한 경우(+ 기본생성자는 정의X)
: 객체 생성을 할때 의존성 주입을 강제

-롬복 @RequiredArgsConstructor 와 함께 많이 사용
-초기화가 반드시 필요한 멤버 변수를 생성자 매개변수에 추가

  • excluedeFilters
    Ant 패턴 - aspectJweaver

- 빈 객체의 라이프 사이클

1) 객체 생성 -> 의존 설정 -> 초기화 -> 소멸

-초기화 : 객체가 완전히 생성되고 조립된 다음에 처리할 작업을 정의하면 실행되는 단계
-소멸 : (ctx.close() -객체 소멸) : 소멸전에 처리할 작업을 정의하면 실행되는 단계

스프링 컨테이너 생성시 진행 되는 부분 (객채생성 -> 의존 설정 -> 초기화)

2) InitalizingBean 인터페이스
-afterProprtiesSet 메서드: 초기화 단계 시에 실행된다.
(객체가 완전히 조립되고 생성 된 후에 처리할 작업을 정의)

3) DisposableBean 인터페이스
-destroy 메서드
-컨테이너에 있는 객체가 소멸되기 전에 실행
(주로 객체 소멸 전에 할 작업 예) - 자원 해제 등 ..)

- 빈 객체의 초기화와 소멸 : 커스텀 메서드

-외부 라이브러리, 자바 JDK 기본클래스, 스프링 프레임워크 기본 클래스 등등..
@Bean
1) initMethod
-intializingBean :: afterProprtiesSet 메서드와 동일 시점에 호출

2) destroyMethod
-DisPosableBean :: destroy 메서드와 동일 시점에 호출

- 빈 객체의 생성과 관리 범위

@Scope

  • @Scope("singleton") : 정의하지 않아도 기본은 싱글톤 패턴으로 관리

  • @Scope("prototype") : 매번 조회시마다 새로운 객체를 생성
    -스프링 객체 관리 기능은 기본적으로 싱글톤일때 정상적으로 동작
    -prototype: 일부기능에 제한 조건

false 나옴

0개의 댓글