일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- java
- 목록
- Spring boot
- javascript
- 2차원배열
- security
- sql
- 코딩테스트
- JAVA11
- 스프링 부트
- StyleSheet
- 소스트리
- springSecurity
- programmers
- css
- 프로그래머스
- 시큐리티 로그아웃
- html
- 리눅스
- 반복문
- gradle
- 시큐리티
- codingtest
- 시큐리티로그인
- Linux
- 로그인
- input태그
- 싱글톤
- springboot
- 시큐리티 로그인
Archives
- Today
- Total
JAVAIARY
@ 어노테이션 본문
1. Bean 등록 Annotation
1) @Component
- 컴포넌트를 나타내는 일반적인 스테레오 타입
- <bean> 태그와 동일한 역할을 함
- Class-level Annotation
- 등록하려는 빈의 클래스 소스가 편집 가능한 경우 사용
2) @Controller
- 프리젠테이션 , 웹 애플리케이션에서 웹 요청과 응답을 처리하는 클래스
3) @Service
- 서비스 레이어, 비즈니스 로직을 가진 클래스
4) @Repository
- 퍼시스턴스 (persistence) 레이어, 영속성을 가지는 속성(파일, 데이터베이스)을 가진 클래스
* @Repository, @Service, @Controller
- 더 특정한 useCase
- @Component의 구체화된 형태
* 컴포넌트 == Bean
2. Bean 의존관계 주입 Annotation
1) @Autowired
- 의존하는 객체를 자동으로 주입해주는 어노테이션
- 정밀한 의존관계 주입(Dependency Injection)이 필요한 경우에 유용함
- 프로퍼티, setter 메서드, 생성자, 일반 메서드에 적용 가능
- 의존하는 객체를 주입할 떄 주로 Type을 이용하게 됨
- 타입으로 먼저 검색, 여러개면 이름으로 검색
- <property>, <constructor-arg> 태그와 동일한 역할을 함
2) @Value
- 단순한 값을 주입할 떄 사용되는 어노테이션
- <property value ="gold" /> 와 동일한 역할을 함
3) @Qualifier
- @Autowired 어노테이션과 같이 사용되어짐
- @Autowired는 타입으로 찾아서 주입하므로,
동일한 타입의 Bean 객체가 여러개 존재할 때 특정 Bean을 찾기 위해서 사용
4) @Resource
- 애플리케이션에서 필요로 하는 자원을 자동 연결할 때 사용됨
- 프로퍼티, setter 메서드에 적용 가능
- 의존하는 객체를 주입할 때 주로 Name을 이용하게 됨
5) Component scan을 지원하는 태그
- <context:component-scan> 태그
- @Component를 통해 자동으로 Bean을 등록하고,
@Autowired로 의존관계를 주입받는 어노테이션을 클래스에서 선언하여 사용했을 경웅에는
해당 클래스가 위치한 특정 패키지를 scan하기 위한 설정을 XML에 해주어야 함
- <context:exclude-filter> 태그와 <context:include-filter> 태그를 같이 사용하면
자동 스캔 대상에 포함시킬 클래스와 포함시키지 않을 클래스를 구체적으로 명시할 수 있음
- base-package에서부터 모든 @Component 검색
- 인스턴스화 : 필요한 의존성을 모두 주입
- 스프링 컨테이너에 등록 : 필요한 곳에 주입
'lectureNote > SPRING' 카테고리의 다른 글
OAuth (0) | 2022.11.20 |
---|---|
비즈니스 로직과 서비스 (0) | 2022.11.16 |
쿠키와 세션 (0) | 2022.11.13 |
Spring 기본 (추가예정) (0) | 2022.11.01 |
Spring 환경설정 - 저장용 (0) | 2022.10.11 |