Spring(27)
-
Spring - JDBC(mysql)
- Spring Framework는 JDBC 프로그래밍을 위해 JdbcTemplate 클래스를 제공하고 있다. - JdbcTemplate 클래스는 SQL 쿼리문을 손쉽게 구현할 수 있도록 구현되어 있다. 1. 라이브러리 추가하기 https://mvnrepository.com/search?q=spring+jdbc Maven Repository: spring jdbc Spring Context Last Release on Jul 21, 2020 mvnrepository.com 위 사이트에서 spring jdbc를 검색하여 맨 위 Spring jdbc를 클릭한다. 가장 최신버전으로 들어가 dependency를 가져와 pom.xml에 추가한다. 그 다음으로 mysql connecter를 설치하기 위해 sprin..
2020.09.01 -
Spring - @AspectJ
@AspectJ 어노테이션을 활용해 Advisor 역할을 할 Bean을 설정할 수 있다. 1. beans.xml 세팅 beans.xml에 아래와 같이 context 태그를 이용해 빈즈 객체와 advisor로 사용할 component들을 스캔한다. 그 후 아래 태그를 이용해 AOP의 자동 aspectj 기능을 활성화한다. 2. Aspect 클래스 등록 AdvisorClass를 aspect 클래스로 등록시키기 위해서 @Aspect 어노테이션을 등록한다. @Aspect @Component public class AdvisorClass { @Before("execution(* method1())") public void beforemethod() { System.out.println("before!!"); } ..
2020.08.31 -
Spring - execution 사용법
AOP 적용시 다양한 상황에 대응할 수 있도록 명시자를 제공하고 있다. - Pointcut을 저정할 때 사용하는 문법 - execution(접근제한자 리턴타입 클래스이름 메서드이름(매개변수)) - 접근 제한자 : public만 지원된다. - 리턴타입 : 메서드의 매개변수 타입 - 클래스 이름 : 패키지를 포함한 클래스 이름 - 메서드 이름 : 메서드의 이름 - 매개변수 : 매개변수의 형태 - * : 하나의 모든 것을 의미한다. - .. : 개수 상관없이 모든 것을 의미한다. 위 xml 태그에서 aop는 method1 메서드가 실행시 AdvisorClass의 beforeMethod를 실행시킨다. 이때 메소드의 매개변수, 자료형, 패키지에 따라서 원하는 메서드를 지정 가능하다. 1. 매개변수 public c..
2020.08.30 -
Spring - AOP
AOP - Aspect Oriented Programming : 관점 지향 프로그래밍 - 하나의 프로그램을 관점(혹은 관심사)라는 논리적인 단위로 분리하여 관리하는 개념 - 로깅, 감사, 선언적 트랜젝션, 보안, 캐싱 등 다양한 곳에서 사용되고 있다. - 메서드 호출을 관심사로 설정하여 AOP에 관한 실습을 진행한다. - 관심사를 통해 Spring Framework가 어떤 메서드가 호출되는지 관심있게 지켜보다가 특정 메서드가 호출되면 자동으로 메서드 전과 후에 다른 메서드가 호출 될 수 있도록 한다. Spring AOP 용어 - Joint Point : 모듈이 삽입되어 동작하게 되는 특정 위치(메서드 호출 등) - Point Cut : 다양한 Joint Point 중에 어떤 것을 사용할지 선택 - Adv..
2020.08.29 -
Spring - Component 자동주입
Component 빈 객체에도 @Autowired,@Qualifier,생성자 등을 이용해 자동주입이 가능하다. 1. @Autowired @Autowired는 타입을 통해서 자동주입을 한다. @Component public class TestBean1 { @Autowired private DataBean1 data3; } 위와 같이 @Autowired를 선언하면 data3에는 DataBean1 객체가 자동으로 주입이 된다. 2. @Qualifier 타입이 아닌 이름을 통해서도 주입이 가능하다. @Component("obj1") public class DataBean2 { } 위와 같이 @Component("obj1")로 설정이 되어있으면 아래와 같이 @Qualifier를 이용해 obj1로 호출이 가능하다...
2020.08.27 -
Spring- Component Bean 기본 설정
Component Bean 에서도 앞서 적용했던 설정들을 @Lazy,@Scope,@PostConstruct,@PreDestroy 등의 어노테이션을 통해 적용 가능하다. 1. @Lazy @Lazy 어노테이션은 해당 클래스를 불러 올 시 자동으로 빈객체가 생성 되는 것을 막고 수동 생성으로만 빈 객체가 생성된다. @Component @Lazy public class TestBean1 { } 2. @Scope 빈 객체는 기본적으로 싱글톤 생성이다. 이런 빈 객체를 @Scope 어노테이션을 통해 prototype으로 설정 가능하다. @Component @Scope("prototype") public class TestBean1 { } 3. @PostConstruct, @PreDestroy @PostConstru..
2020.08.27