#Spring Annotation, AOP 끄적끄적2

2021. 1. 5. 22:04·🌈Backend/Spring
목차
  1. 복습노트
  2. 1. 객체생성
  3. 2. 객체 주입
  4. 3. 기능
  5. AOP ( Aspect Oriented Programming )
  6. Aop 설정

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
  1. 복습노트
  2. 1. 객체생성
  3. 2. 객체 주입
  4. 3. 기능
  5. AOP ( Aspect Oriented Programming )
  6. Aop 설정
'🌈Backend/Spring' 카테고리의 다른 글
  • #Spring @RequestParam사용법
창히
창히
👨🏼‍💻 4년차 개발자의 잡다한 기록
  • 창히
    창히히의 기록
    창히
  • 전체
    오늘
    어제
    • 분류 전체보기 (24)
      • 🌈CS (2)
      • 🌈디자인패턴 (1)
      • 🌈OS (2)
        • 💻Mac (2)
        • 💻Windows (0)
      • 📚Language (3)
        • JAVA (3)
        • Python (0)
        • Javascript (0)
      • 🌈Backend (6)
        • SpringBoot (3)
        • Spring (2)
        • Node.js (0)
      • 🌈Frontend (1)
        • React (1)
      • 🌈WEB & WAS (2)
        • Tomcat (0)
        • Jeus (1)
      • 🌈DataBase (1)
        • Oracle (0)
        • MariaDB (0)
        • Mysql (0)
        • 끄적끄적 (1)
      • 🌈Unity (1)
      • 🐳 DOCKER (1)
      • 잡다한것 (2)
        • #독서 (1)
        • #알쓸신잡 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    하샤드의 수
    프로그래머스
    Rosetta2
    소확행
    이벤트함수
    두 개 뽑아서 더하기
    서버 사이드 렌더링
    level1
    application.yml
    클라이언트 사이드 렌더링
    springboot
    스트레티지 패턴
    mac
    시/에세이
    코딩테스트
    1cm 다이빙
    SQL 개발자
    콜라츠의 추측
    한국데이터산업진흥원
    JEUS8
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
창히
#Spring Annotation, AOP 끄적끄적2

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.