Category/Spring22 [Spring] Aspect-Oriented-Programming AOP란? AOP(Aspect-Oriented-Programming)란 관점 지향적 프로그래밍으로, 어떠한 일련의 행동들을 공통기능과 핵심기능이라는 관점으로 나누어 본다는 의미이다. 즉, 어떠한 기능에서 공통적으로 존재하는 기능을 뽑아내어 반복적으로 재사용할수 있도록 모듈화 할수있다. AOP 주요 용어 - Aspect : 공통기능(Class) - Advice : Aspect의 기능 자체 (method) - Jointpoint : Advice가 적용되는 대상으로 핵심기능. - PointCut : 핵심기능에 실제로 advice가 적용된 부분 - weaving : advice를 핵심기능에 적용하는 행위 MainClass 에서 특정 기능을 호출하면, LogAop 라는 공통기능의 클래스(Aspect)가 핵심기능 .. 2023. 12. 22. [Spring] 외부 properties 파일을 이용한 Bean 설정 스프링에서 빈 객체에 property 값들을 저장할때, 외부 파일을 이용해 가져와서 property값을 저장하기위해 Environment 객체를 사용한다. 1. 외부파일 생성 가장 먼저 값을 가져올 외부파일을 형태로 생성해서, src/main/resource 경로에 저장한다. 해당 파일에 간단하게 admin.id 와 pw라는 이름의 값들을 쓰고, 이 외부 파일을 스프링에서 property값으로 주입시킬 것이다. 2. property값을 주입받을 Class 생성 AdminConnection 클래스를 생성하여 InitializingBean, EnvironmentAware 인터페이스를 상속받고, 필드에 주입받을 값인 adminId , adminPw와 Environment 객체 .. 2023. 12. 20. [Spring] 어노테이션을 이용해서 Bean 객체 생성하기 Spring Bean Configuration File을 사용하지않고 Java Class에서 @configuration을 이용하여 스프링 빈에 객체를 등록하는 방법 기존의 xml 설정파일을 이용하지않고, JAVA Class 파일을 통해서 스프링 빈에 객체를 등록할 수 있다. pom.xml 설정에 CGLIB dependency 추가하기 CGLIB(Code Generator Library) : 인터페이스없이 바이트 코드를 조작해서 동적으로 객체를 생성해주는 라이브러리 Java Class 파일에서 스프링 Bean으로 객체를 생성하여 등록해주기위해 pom.xml 파일에 CGLIB 디펜던시를 추가해준다. Student 클래스는 다음과 같은 필드와 name, age, ArrayList 타입의 hobbys를 생성자로.. 2023. 12. 18. [Spring] 스프링 컨테이너 스프링 컨테이너(Spring Container) 앞서 스프링 빈(Bean)을 이용해 Spring Bean Configuration File.xml 파일에서 객체들을 빈(Bean)에 직접 담아놓은뒤, 자바 main 메소드에서 다음과 같이 꺼내왔다. 여기서 AbstractApplicationContext는 GenericXMLApplicationContext의 하위 인터페이스이고, GenericXMLApplicationContext 는 Bean의 제어와 빈 생성을 담당하는 최상위 클래스인 BeanFactory로 부터 상속받은 인터페이스이다. 즉, 이러한 ApplicationContext가 스프링 컨테이너라고 할 수있다. 빈팩토리로부터 상속받은 하위 인터페이스들은 각각의 기능에따라 여러 갈래로 나뉘어지고, 그중.. 2023. 12. 15. 이전 1 2 3 4 5 6 다음