본문 바로가기
Programming/Spring

서버 구축 및 운영 - Spring 문제 노트 정리

by 코딩여걸 2021. 5. 26.
728x90

< spring framework의 설명 >

  • POJO 방식의 클래스를 주로 사용
  • myBatis 라이브러리를 지원
  • 가장 많이 사용되는 Java 기반 프레임워크
  • 설정파일을 통해 객체를 생성할 수도 있음

 

 

 

< spring에서 많이 사용되는 Java 빌드 도구 >

  • maven

 

 

 

< IOC container의 종류 >

  • XmlWebApplicationContext
  • ApplicationContext
  • ClassPathXmlApplicationContext
  • GenericXmlApplicationContext

 

 

 

< 객체를 불러올 때 매번 새로이 생성해서 불러오는 scope의 속성값 >

  • prototype

 

 

 

< Java를 이용하여 bean 등록을 할 때 class 앞부분에 반드시 써주어야 하는 annotation >

  • @Configuration

 

 

 

< 이름을 통해 자동주입을 할 때 필요한 annotation >

  • @Qualifier

 

 

 

< 타입을 통한 자동 ID >

  • @Autowired

 

 

 

< AOP구현시 추가해야하는 라이브러리 >

  • aspectj

 

 

 

< pointcut 이란? >

  • advice를 받을 메서드들

 

 

 

< aspect 설명 >

  • pointcut + advice

 

 

 

< annotation을 이용하여 bean을 설정할 경우, xml 파일에 설정해야 하는 코드 >

  • context : component-scan

 

 

 

< Spring이 가지고 있는 중요한 특징 3가지 >

  1. IOC(Inversion of Control : 제어의 역전) : 객체 생성에 대한 주도권을 개발자가 아닌, spring이 갖는 것
  2. DI(Dependency Injection : 의존성 주입) : 객체에 값을 주입하는 것
  3. AOP(Aspect Oriented Programming) : 업무로직 + 개발자 관점등을 분리시켜 코드를 작성하는 방법론

 

 

 

< id가 kim인 bean을 등록하는 3가지 방법 (패키지명 : kr.hs.study.user, 클래스명 : Person) >

  1. < bean id="kim" class="kr.hs.study.user.Person"/>
  2. @Bean
    public Person kim(){
    	return new Person();
    }
  3. @Component("kim")

 

 

 

< annotation 사용시 컴포넌트에 이름을 부여하는 방법은 크게 의미가 없는 이유 >

  • 하나의 패키지 안에는 동일한 이름의 클래스를 한 개만 작성할 수 있기 때문이다.

 

 

 

 

< 다음 보기에 맞는 AOP를 설정 >

< 보기 >
ㄱ. advice 클래스 : kr.hs.study.advisor
ㄴ. 리턴타입은 상관없음
ㄷ. kr.hs.study.beans 패키지로 시작하는 모두에 대하여 적용
ㄹ. Bean1로 끝나는 모든 클래스에 대하여 적용
ㅁ. func3으로 끝나는 모든 메서드에 대하여 적용
ㅂ. 비즈니스 로직 실행후에 test()를 자동으로 호출
< aop:config>
< aop:aspect ref="advisor">
	< aop:pointcut id="point" expression="execution(*kr.hs.study.beans..*Bean1.*func3())"/>
    < aop:after method="test" pointcut-ref="point"/>
< /aop:aspect>
< /aop:config>
728x90

댓글