package com.springinaction.chapter01.knight;
import java.lang.reflect.Method;
import org.apache.log4j.Logger;
import org.springframework.aop.MethodBeforeAdvice;
public class MinstrelAdvice implements MethodBeforeAdvice {
? public void before(Method method, Object[] args, Object target)
????? throws Throwable {
??? Knight knight = (Knight) target;
???
??? Logger song = Logger.getLogger(target.getClass());
???
??? song.debug("Brave " + knight.getName() + " did " + method.getName());
? }
}
package com.springinaction.chapter01.knight;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.core.io.FileSystemResource;
public class KnightApp {
? private static final org.apache.log4j.Logger LOGGER = org.apache.log4j.Logger
????? .getLogger(KnightApp.class);
?
? public static void main(String[] args) throws Exception {
??? LOGGER.debug("Running KnightApp");
??? ApplicationContext m;
??? BeanFactory factory =
??????? new XmlBeanFactory(new FileSystemResource("knight.xml"));
///有XmlBeanFactory來負責具體的實現(xiàn)???? knight.xml必須要保存在項目的總目錄下面
Knight knight =
??????? (Knight) factory.getBean("knight");
??? knight.embarkOnQuest();
??? System.out.println("ok");
??? LOGGER.debug("KnightApp Finished");
? }
}
大盤預(yù)測 國富論