株洲专业建设网站,上线了网站怎么样,中国门户网站有哪些,网站公告怎么做我试图实现我们的stackoverflow成员在这里Logging entry, exit and exceptions for methods in java using aspects给出的建议之一.由于这本身就是不同的问题,再次在这里发布.我试图搜索,但看起来不同的版本有不同的方式,并无法在网上找出一个例子.我尝试了以下简单示例,因为我…我试图实现我们的stackoverflow成员在这里Logging entry, exit and exceptions for methods in java using aspects给出的建议之一.由于这本身就是不同的问题,再次在这里发布.我试图搜索,但看起来不同的版本有不同的方式,并无法在网上找出一个例子.我尝试了以下简单示例,因为我是面向方面编程的新手,无法弄清楚如何实现.这个例子是投掷NPE.请帮我理解我做错了什么.例外Exception in thread main java.lang.NullPointerExceptionat aoplogging.SimpleCall.call(SimpleCall.java:13)at aoplogging.App.main(App.java:18)正好在SimpleService.simpleCall();ApplicationContext的xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:phttp://www.springframework.org/schema/pxmlns:aophttp://www.springframework.org/schema/aop xmlns:contexthttp://www.springframework.org/schema/contextxmlns:jeehttp://www.springframework.org/schema/jee xmlns:txhttp://www.springframework.org/schema/txxmlns:taskhttp://www.springframework.org/schema/taskxsi:schemaLocationhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsdApp.javapackage aoplogging;import org.springframework.context.ConfigurableApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class App {public static void main(String[] args) {ConfigurableApplicationContext context new ClassPathXmlApplicationContext(ApplicationContext.xml);SimpleCall call (SimpleCall) context.getBean(simpleCall);call.call();context.close();} SimpleCall.java????包aoplogging;import org.springframework.beans.factory.annotation.Autowired;public class SimpleCall {Autowiredprivate SimpleService SimpleService;public void call(){SimpleService.simpleCall();try {SimpleService.processingOperator();} catch (SMSProcessingException | SMSSystemException e) {e.printStackTrace();}}} Logging.javapackage aoplogging;import org.aspectj.lang.annotation.After;import org.aspectj.lang.annotation.AfterReturning;import org.aspectj.lang.annotation.AfterThrowing;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Before;import org.aspectj.lang.annotation.Pointcut;Aspectpublic class Logging {Pointcut(execution(* aoplogging.*.*(..)))private void selectAll(){}/*** This is the method which I would like to execute* before a selected method execution.*/Before(selectAll())public void beforeAdvice(){System.out.println(Going to setup student profile.);}/*** This is the method which I would like to execute* after a selected method execution.*/After(selectAll())public void afterAdvice(){System.out.println(Student profile has been setup.);}/*** This is the method which I would like to execute* when any method returns.*/AfterReturning(pointcut selectAll(), returningretVal)public void afterReturningAdvice(Object retVal){System.out.println(Returning: retVal.toString() );}/*** This is the method which I would like to execute* if there is an exception raised by any method.*/AfterThrowing(pointcut selectAll(), throwing ex)public void AfterThrowingAdvice(IllegalArgumentException ex){System.out.println(There has been an exception: ex.toString());}}