목록개발/WEB (5)
개발용
*pom.xml +) org.aspectj aspectjweaver 1.8.8 *AOP 표현식 : execution( [RETURN_TYPE] [PACKAGE_PATH] [CLASS_NAME] [METHOD_NAME]([PARAMETERS]) ) Ex)execution( * com.springbook.bin.. *Impl. *(..) ) -(..) : 매개변수 상관 없음 -(*) : 매개변수 오직 1개인 메소드 -(Integer,..) : 한 개 이상의 매개변수 중 첫 번째 매개변수가 Integer인 메소드 *동작 시점 -before : 비즈니스 메소드 실행 전 -after : 비즈니스 메소드 실행 후(무조건) -after returning : 성공적으로 리턴 후 -after throwing : 실행 중..
>>pre :: applicationCxt.xml //어노테이션 붙은 객체들 자동 생성 및 관리 @Component("[REF_KEY]") : 객체 생성 *extends(클래스의 분류, 각 특별한 기능 추가) @Service : 비즈니스 로직을 처리하는 Service클래스 @Repository : DB연동을 처리하는 DAO클래스 @Controller : 사용자 요청을 제어하는 Controller클래스 @Autowired //Autowired는 component-scan 시 이미 @Component를 설정해놓은 클래스여야 인식 @Qualifier("[REF_KEY]") //Autowired사용 시 같은 인터페이스라면 무엇을 선택할지 @Resource(name="[REF_NAME]") //Autowired사..
*DI : 모듈간의 의존관계를 모듈의 외부(컨테이너)에서 주입시켜주는 기능(IoC의 한 종류) Ex) applicationCxt.xml * property로 set할 때는 반드시 setter메소드 필요 cf) setter 메소드는 스프링 컨테이너가 자동으로 호출하며, 호출하는 시점은 객체 생성직후 -> 반드시 기본 생성자::bean 필요 ::property //반드시 해당 클래스에 존재하는 CLASS_VAR_NAME과 일치해야 함 //CLASS의 멤버가 기본 자료형 배열일 때 [VALUE] [VALUE] //CLASS의 멤버가 기본 자료형이 아닌 객체일 때 ::constructor-arg //constructor-arg사용 시 setter메소드 필요X [VALUE] //이 때 반드시 CLASS에는 개수 ..
resource :: 환경설정 파일 ex) applicationContext.xml //반드시 패키지 경로 포함 -> ctrl + space 권장 1. spring 컨테이너 구동 AbstractApplicationContext factory = new GenericXmlApplicationContext("classpath:applicationContext.xml"); //applicationContext.xml을 로딩하여 스프링 컨테이너 중 하나인 GenericXmlApplicationContext를 구동 2. spring 컨테이너로부터 필요한 객체를 요청 [CLASS_NAME] [REF_NAME] = (CLASS_NAME)factory.getBean("[REF_KEY]"); //CLASS_NAME에 존..
-디자인 패턴 : Interface와 다형성을 이용하여 클래스-객체 변환을 쉽게할 수 있음. 그러나 이 또한 소스코드를 수정해야 함 Ex) [INTERFACE_NAME] [REF_NAME] = new [CLASS_NAME(implements [INTERFACE_NAME])] -Spring과 달리 *Context.xml파일을 생성하지 않음 -ex) BeanFactory.java파일을 생성 Ex)BeanFactory.java //받는 매개변수 이름(String)에 따라 각각 다른 CLASS-REF반환 public class BeanFactory { public Object getBean(String beanName) { if(beanName.equals("samsung")){ return new Samsun..