반응형 Development/Java72 [Spring In Action]EHCache 설정 애트리뷰트 용도 diskExpiryThreadIntervalSeconds 얼마나 자주 디스크 만료 스레드를 실행시킬지 지정. 디스크에 저장된 캐시에서 만료될 항목을 제거할 주기(기본값 : 120초) diskPersistent VM 종료시 VM 재시작에 대비해 디스크를 이용해 캐시 내용을 저장할지 여부(기본값 : false) eternal 캐시 항목의 영구성을 지정. 영구설정시 만료되지 않음(필수) maxElementsInMemory 메모리에 캐시될 수 있는 항목의 최대 개수(필수) memoryStoreEvictionPolicy maxElementsInMemory에 도달했을 때 제거하는 방법지정. 기본으로는 '가장 사용된지 오래된(LRU : theLeast Recently Used)' 사용, 이외에 '선입.. 2011. 9. 28. [Spring In Action]풀링기능이 있는 DataSource 사용하기 driverClassName : JDBC 드라이버 패키지명을 포함한 완전한 클래스명 url : 데이터 베이스에 필요한 JDBC URL initialSize : 풀이 시작될 때 생성할 커넥션 수 maxActive : 풀에서 동시에 제공하는 최대 커넥션 수 maxIdl : 동시에 휴먼 상태로 유지도리 수 있는 최대 커넥션 수 2011. 9. 21. Regular Expression Java [abc] [abc] : a, b or c 괄호안에 있는 문자가 존재하면 true(연결된것은 안됨) public class Test { public static void main(String[] args) { Pattern pattern = Pattern.compile("[ABCD]"); Matcher matcher = pattern.matcher("A"); System.out.println(matcher.matches()); }}결과 : true if문 쓰는것보다 훨씬 유용한것 같다. 2011. 9. 16. [Spring In Action]@AspectJ 이용한 오토프록싱 @Aspect // aspect 선언public class Audience { @Pointcut("execution(* *.perform(..))") // pointcut 정의 public void performance(){} @Before("performance()") public void takeSeats(){ } @AfterReturning("performance()") public void applaud(){ } @AfterThrowing("performance()") public void demandRefund(){ }}@AspectJ 기반의 빈을 애스펙트로 변환하는 방법을 알고 있는 오토프록시 빈 선언 AnnotationAwareAspectJAutoProxyCreator -> 이름이 길다 -_.. 2011. 9. 9. [Spring In Action]aspect용 AutoProxy생성 이렇게 선언해놓으면 ProxyFactoryBean을 따로 선언해줄 필요가 없다. DefaultAdvisorAutoProxyCreator를 선언하면 스프링 컨테이너는 이빈을 BeanPostProcessor로 인식한다. bean에 id가 없는건 이 빈을 참조해서 사용할 필요가 없기 때문이다. (참고)---------- Application Context 내에 bean lifecycle 인스턴스화 -> property 할당 -> BeannameAware의 setBeanName() -> BeanFactoryAware의 setBeanFactory() ->ApplicationContextAware의 setApplicationContext() -> BeanPostProcessor의 postProcessBeforeIn.. 2011. 9. 8. [Spring In Action]AspectJ 포인트컷 정의 excution(* *.perform(..)) excution : method가 실행될때 * : 모든 반환 값 타입에 대해 *. : 모든 클래스의 perform : perform() method (..) : 인자의 개수에 상관없이 2011. 9. 7. [Spring In Action]정규표현식 포인트컷 선언 포인트컷은 어드바이스가 적용돼야할 메서드를 골라내는것 pointcut 정의 advice와 pointcut 결합 하나의 빈 설정으로 pointcut과 advice 동시정의 2011. 9. 6. [Spring In Action]4.1 AOP 용어 cross-cutting-concerns(횡단관심사) : 한 어플리케이션이 여러부분에 걸쳐있는 기능 aspect-oriented programming(AOP) : 횡단 관심사의 분리를 위한것 용어 정의 advice aspect가 해야할 작업. aspect가 '무엇'을 '언제'할지를 정의한다. joinpoint advice를 적용할수 있는곳, 어플리케이션 실행에 aspect를 끼워넣을수 있는 지점. pointcut aspect가 advice할 joinpoint 영역을 좁힌다. '어디서' 하는것을 정의한다. aspect advice와 pointcut을 합친것. '무엇','언제','어디서'가 앞의 2가지에 의해서 정의된다. target advice가 적용될 객체. proxy advice를 taget 객체에 적.. 2011. 8. 31. Exception 정보 제대로 처리하자.! Excpetion 처리시 아무생각 안하고 e.getStackTrace()를 사용했는데. 이렇게 처리하면 스택을 확인해서 처리하게 되기 때문에 시간도 많이걸리고 콘솔에 찍히는 내용도 뭔지 모르게 된다. public class LogTest { private static final Logger logger = Logger.getLogger("LogTest"); public static void main(String[] args) { try{ int i = 0; int j = 3/i; }catch (Exception e) { StackTraceElement[] ste = e.getStackTrace(); String className = ste[0].getClassName(); String methodName.. 2011. 7. 21. [Spring In Action] 2.4 오토와이어링 스프링은 4종류의 와이어링을 제공한다. 1. byName (autowire="byName") property 이름과 동일한 빈을 와이어링 해준다. 이름이 반드시 같아야한다. 2. byType property type과 동일한 빈을 와이어링 해준다. 할당 가능한 타입의 빈이 둘 이상일 경우에는 예외 발생시킨다. 3. constructor 해당 빈의 생성자에 맞는 빈을 자동으로 선택해준다. 4. autodetect 컨테이너가 알아서 결정해준다. 최초에는 constructor 방식을 먼저 적용, 그다음에 byType 방식을 시도한다. 오토와이어링 문제점. - 명확성 결여된다. 2011. 7. 19. [토비의스프링3][10.1.4] 웹 애플리케이션의 IoC 컨테이너 구성 단일 서블릿 컨텍스트 구성 방법 spring org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/applicationContext.xml /WEB-INF/spring-servlet.xml 1 서블릿 컨테이너가 서블릿을 언제 만들고 초기화할지 순서 정함. 보통 1. 2011. 7. 13. [토비의스프링3][10.1.3] IoC 컨테이너 계층 구조 모든 애플리케이션 컨텍스트는 부모 애플리케이션 컨텍스트를 가질수 있다. 단. 애플리케이션 컨텍스트의 검색 순서는 항상 자신 먼저이고 그런 다음 직계 부모 순서이다. 하위 컨텍스트는 검색에서 제외된다. 같은 레벨의 컨텍스트도 갬색에서 제외된다. 동일한 bean 이 부모에게도 있을경우 자식의 bean이 부모의 bean을 오버라이드 한다. ApplicationContext parent = new GenericXmlApplicationContext("parents.xml");GenericApplicationContext child = new GenericApplicationContext(parent); XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(.. 2011. 7. 11. 이전 1 ··· 3 4 5 6 다음 728x90 반응형