웹 & 프레임워크 168

[xe] stdClass 배열 사용법

debugPrint($info[0]);// debugPrint($output -> data -> Array); debugPrint($output -> data)[0]; debugPrint($output -> data[0]);// debugPrint($output -> data -> Array);// debugPrint($output -> data -> Array[0]);// debugPrint($output -> data -> Array[0] -> title);// debugPrint($output -> data -> array); debugPrint($output -> data); debugPrint($output); 주석으로 처리한건 다 null이 뜬다.. 이걸 찾아내려고 정말 갖은 노력을 다했다 =..

Spring 에노테이션 기반 AOP

//공통모듈임을 나타내주어야함! 순서는 상관없음! aspect는 콤포논트의 확장된 버전이면//상관없는데, 얘는 확장한 버전이 아니라 두개를 같이 써줘야함@Aspect@Componentpublic class LogAspect {} @Before(value="execution(* com.gorakgarak..*(java.lang.String))") public void beforeLogging(JoinPoint joinPoint){ System.out.println(joinPoint.getSignature().getName() + "메소드 호출 전 :" + joinPoint.getArgs()[0]); } 둘다 해줘야함 xml 설정은?

Spring AOP란 무엇이고 용어를 알아보자

"AOP"는 무엇일가 AOP는 OOP를 더 OOP처럼만들어주는 아주 고마운 애다.AOP를 쓰면 내가 이용하는 대상이 누구라고하지도않고 이용한적도 없는데 이용한것처럼 실행이된다? 오오일종의 우렁각시네 AOP는 관심사의 분리 예를들어 로깅하는 거시기가 있다고 하자. 공통로직인 로깅코드를 계속 불러오면 어지럽다.register() {} 와 같은 메서드안에 다 logging.log()를 집어넣어야하는데AOP는 그 메서드안에 번거롭고 지저분하게 넣어주는게 아니라, logging.log()가 안에서 호출하는게 없는데도 이 메서드를 사용할수있다 그러면 의존성이 없어지면, loggin.log()없이도 단위테스트가 가능할정도로 컴파일도된고 거시기도된다 위빙 : 핵심로직 메소드 기반으로 필터링을 함.. 메서드타입은 리턴타..

Spring 스프링에서 에노테이션이란?

이제 2.5부터 애노테이션이 태어났다이놈은 소스가 아니고, 단순한 주석이 아니라메타정보를 가지고있어서 이걸통해 안에 뭔가 검사한다던지 정보검사 가능해짐소스안에 직접 설정하는 애노테이션으로 고고싱하자.설정이 줄어든다고 느껴질것이다 왜그럴까?이제 클래스에게 붙일것이니 확 줄어든다고 느끼는 것이다. 애노테이션은 클래스위, 멤버변수위, 아무데나 고고싱할수있다. xml에 기술했었던 그런것들은 줄어들게 되는데, 설정이 줄어든다고 생각할수도 있으나,사실 이건 소스안에 있는거다. 그래서 유지관리가 어려워질수있다. 코드는 아니지만 소스의 애노테이션을 수정하기때문에, 애노테이션을 수정하게 되면 소스를 재컴파일한다는 소리기때문에 단점이라고 볼수있을것이다. 유지관리차원에서는 xml이 더 낫다 인원이 작고 고고싱할때는 소스코드..