2021.01.05
먼저 Annotation을 끄적이기 전에
나만의 정리..
프로퍼티(property)는 일부 객체 지향 프로그래밍 언어에서 필드(데이터 멤버)와 메소드 간 기능의 중간인 클래스 멤버의 특수한 유형이다. 프로퍼티의 읽기와 쓰기는 일반적으로 게터(getter)와 세터(setter) 메소드 호출로 변환된다.
즉, 메소드를 통해 값을 저장하고 값을 갖고와 쓰는데 이용한다
위키백과 감사합니다... 넙죽
복습노트
1. 객체생성
@Component
사용법
xml : <bean id="소문자 시작 클래스이름" class="패키지명.클래스명" ../>
사용전에 <context:component-scan base-package="패키지명" /> 설정이 필요
java : @ComponentScan(basePackages ={"패키지명","패키지명"})
2. 객체 주입
@Autowired -자료형이 맞는 객체를 자동으로 주입. 변수나 생성자, 프로퍼티, 메소드에 사용가능
단, 프로퍼티와 메소드 사용에는 디폴트 생성자를 명시해줘야함
@Resource(이름) - 객체 중 이름으로 객체를 주입. 객체의 이름이 일치하는 객체를 자동으로 주입
프로퍼티, 메소드에만 사용이 가능 단, 디폴트 생성자를 명시해줘야함
@Required : 자료형 기준으로 객체를 주입. 단 무조건 주입되어야함.
주입되는 객체가 없는 경우 오류 발생. => 거의 사용안함.
3. 기능
@PostConstruct
- 객체 생성 후에 호출되는 메서드의 위에 정의.
- 객체 생성 후에 실행되는 메서드.
- 객체 생성이란 주입되는 객체가 완료 된 경우
@Qualifier
- 객체의 id 외에 다른 이름을 지정할 수 있음.
- @Bean과 함께 사용시는 이름 지정(별명) @Qualifier(별명) , xml - <qualifier value="별명" />
- @Autowired와 함께 사용시는 객체를 주입.
- 하나의 의존객체를 선택하여 객체 간 선택적 충돌이 발생하지 않게 할 수 있다.
@Configuration : 자바 환경 설정 파일 지정시 사용되는 어노테이션
@ComponentScan : scan되는 패키지를 설정. @Configuration 과 함께 사용됨.
AOP ( Aspect Oriented Programming )
- 관점 지향 프로그래밍으로 분산(코드중복)되거나 얽혀있는 횡단 관심사(Cross-cutting concerns)를 한데 모아
Aspect로 모듈화(분리)를 허용함으로써 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임이다.
즉, 모듈화하여 재사용하겠다는 것이 취지이다.
Aop 설정
pointcut - 핵심메서드를 설정.
public spring.*Impl.*(..) : spring 패키지의 클래스 중 이름이 Impl로 끝나는 클래스의
모든 public 메서드. 매개변수에 상관없이.
aspect : aop에 사용되는 Aspect클래스 의미
advice : aop가 실행될 시점을 설정
around : 핵심 메서드 실행 전과 후에 aop를 실행
before : 핵심 메서드 실행 전에 aop를 실행
after : 핵심 메서드 실행 후에 aop를 실행
afterReturning : 핵심 메서드가 정상 종료 후에 aop를 실행
afterThrowing : 핵심 메서드가 오류 종료 후에 aop를 실행
'🌈Backend > Spring' 카테고리의 다른 글
#Spring @RequestParam사용법 (0) | 2021.01.18 |
---|