java null错误事例_java – aspectJ示例中的nullpointer异常

我试图实现我们的stackoverflow成员在这里Logging entry, exit and exceptions for methods in java using aspects给出的建议之一.由于这本身就是不同的问题,再次在这里发布.

我试图搜索,但看起来不同的版本有不同的方式,并无法在网上找出一个例子.我尝试了以下简单示例,因为我是面向方面编程的新手,无法弄清楚如何实现.这个例子是投掷NPE.请帮我理解我做错了什么.

====例外

Exception in thread "main" java.lang.NullPointerException

at aoplogging.SimpleCall.call(SimpleCall.java:13)

at aoplogging.App.main(App.java:18)

正好在SimpleService.simpleCall();

ApplicationContext的:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"

xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"

xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:task="http://www.springframework.org/schema/task"

xsi:schemaLocation="http://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.xsd">

==================

App.java

package 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 {

@Autowired

private SimpleService SimpleService;

public void call(){

SimpleService.simpleCall();

try {

SimpleService.processingOperator();

} catch (SMSProcessingException | SMSSystemException e) {

e.printStackTrace();

}

}

}

===== Logging.java

package 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;

@Aspect

public 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()", returning="retVal")

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());

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中减法运算函数_OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减...

OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减法的差异对比? ? 前往老猿Python博文目录 ?在《OpenCV-Python图像的加法运算cv2.add函数详解》详细介绍了图像的加法运算,有加法就有减…

数据访问......单条件查询与多条件查询

一. 将数据库数据访问封装成类 <?php class DB {public $host "localhost"; //服务器地址public $uid "root"; //用户名public $pwd "123"; //密码//执行SQL语句,返回相应结果的方法//$sql代表要执行的SQL语句,$type代表…

java keytool nginx_java 自签名证书转 nginx 所需证书

下面个将介绍怎样利用 jdk keytool 生成自签名证书&#xff0c;然后使用 JKS2PFX 工具将证书转换成 pem 格式。详细步骤如下&#xff1a;(1)先试用 jdk 自带的 keytool 工具生成证书&#xff0c;如下&#xff1a;C:\Users\Administrator\Desktop\jks2pfx>keytool -genkey -v…

《浪潮之巅》读后感

《浪潮之巅》读后感 一开始看了几个公司的故事&#xff0c;感觉有点不够详细、扎实&#xff0c;以为这只是又一本讲述硅谷、讲述那些高科技行业明星的揽财书&#xff0c;但随着阅读的深入发现自己错了&#xff0c;也庆幸自己错了。强烈推荐那些非IT人士也看一看这本书。就…

java implements interface_java接口(interface)与现实(implements)

package com.sadhu;import java.util.*;/**接口接口中不能有字段所有的方法都是公共的可以定义常量接口是多继承的&#xff0c;一个类可以继承多个接口。接口中不能有实现的方法。可以认为是纯的抽象类。接口不能被实例化&#xff0c;但是可以声明一个接口类型的变量*/public c…

java集合类分析-hashset

一、 HashSet概述&#xff1a; HashSet实现Set接口&#xff0c;由哈希表&#xff08;实际上是一个HashMap实例&#xff09;支持。它不保证set 的迭代顺序&#xff1b;特别是它不保证该顺序恒久不变。此类允许使用null元素。 二、 HashSet的实现&#xff1a; 对于HashSet而言&…

php功能大马加密乱码,php大马加密工具 phpTrace:奇虎360开源的PHP脚”的相关知识...

phpTrace&#xff1a;奇虎360开源的PHP脚本分析工具问题&#xff1a;phpTrace&#xff1a;奇虎360开源的PHP脚本分析工具回答&#xff1a;phpTrace是奇虎 360开源的一款和分析PHP脚本的工具。如果开发者用过strace的话&#xff0c;则可能很容易想到phpTrace到底实现了什么样的功…

站立会议 2

这是我们的第二次人员集中&#xff0c;主要是讨论一下接下来的一些工作安排&#xff0c;还有讨论一下在准备过程中出现的一些问题&#xff01; 项目进展&#xff1a; 今天的会议中&#xff0c;我们讨论了我们的项目进展&#xff0c;结果是&#xff1a;我们都已经找到了小球还有…

网吧java安装路径,java环境变量配置

windows xp下配置JDK环境变量&#xff1a;1.安装JDK&#xff0c;安装过程中可以自定义安装目录等信息&#xff0c;例如我们选择安装目录为D:/java/jdk1.5.0_08&#xff1b;2.安装完成后&#xff0c;右击“我的电脑”&#xff0c;点击“属性”&#xff1b;3.选择“高级”选项卡&…

转为win64后, MS的lib问题

> 正在创建库 C:\Users\Administrator\Desktop\branch-Unicode-156\\Temp\Link\PointCloudMeasure\x64\Debug\PointCloudMeasure.lib 和对象 C:\Users\Administrator\Desktop\branch-Unicode-156\\Temp\Link\PointCloudMeasure\x64\Debug\PointCloudMeasure.exp1>vtkXM…

php redis 搜索,PHP+Redis有序集合(zset)实现博客园阅读排行榜功能

许多网站都有排行榜的功能&#xff0c;比如球员人气榜单、阅读排行榜&#xff0c;对于一些小网站&#xff0c;通过查数据库就能实现排行榜的功能&#xff0c;但是对于稍微有点用户量而且还是实时排名的网站&#xff0c;使用一些关系型数据库如(MySQL、Oracle)等来实现就有点力不…

iOS 开发疑难杂症(01)

搜了好多博客&#xff0c;技术网站&#xff0c;答案都不统一&#xff0c;今天偶然发现一个解决方案&#xff1a;这个问题一般是重复导入&#xff0c;使用include的问题&#xff0c;不过iOS一般不用include&#xff0c;所以这个不是正解&#xff0c;还有就是预编译文件&#xff…

php 游标 上移,jQuery点击input使光标移动到最后或指定位置

你要知道面对一个 处女座的 需求者&#xff0c; focus()是远远不够的。 比如说“我点进去的时候光标要在最后&#xff0c;这样我就不用再把光标移动到最后去添加东西了。” oh&#xff0c;让我先撞下墙。 我们需要扩展jQuery: //光标放在最后 $("#文本框ID").textFoc…

nginx 代理

nginx 代理&#xff1a; server { listen 80; server_name yiitest yiitest.com; error_log /var/log/www/yiitest_error.log; access_log /data/logs/nginx/wslm_access.log; root /home/bear/www/yiitest; # 如果全部的请求都代理到别的服务器上了&#xff0c;就可以不用写这…

在java中goto是意思,关于Java中的goto语句

自学Java遇到的问题1goto语句的问题1.1 背景2.1 尝试3.1 总结goto语句的问题今天是我自学Java第4天&#xff0c;开始写博客记录学习中遇到的问题。给后来者一些借鉴&#xff0c;也给自己以后回过来在看这些问题提供资料。1.1 背景我是先自学过一段时间C&#xff0c;然后隔了很长…

cJONS序列化工具解读二(数据解析)

cJSON数据解析 关于数据解析部分&#xff0c;其实这个解析就是个自动机&#xff0c;通过递归或者解析栈进行实现数据的解析 /* Utility to jump whitespace and cr/lf *///用于跳过ascii小于32的空白字符 static const char *skip(const char *in) { while (in && *in…

php备投程序,php投票小程序

PHP投票小程序&#xff0c;防超时&#xff0c;防IP限制1.[代码][PHP]代码//欢迎访问back.zhizhi123.com//参考博文http://www.zhizhi123.com/?p126set_time_limit(0);//防止超时function toupiao($i){$proxy array(182.48.116.51:8080,110.177.63.191:9999,221.10.40.238:80,…

登录注册实现(服务器数据)

1 <?xml version"1.0" encoding"utf-8"?>2 <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"3 android:layout_width"fill_parent"4 android:layout_height"fill_parent"5 …

java与android https,java – Https连接Android

我做一个猜测&#xff0c;但如果你想要一个实际的握手发生&#xff0c;你必须让Android知道你的证书。如果你想只接受无论什么&#xff0c;然后使用这个伪代码来获得你需要与Apache HTTP客户端&#xff1a;SchemeRegistry schemeRegistry new SchemeRegistry ();schemeRegistr…

84. Largest Rectangle in Histogram

/** 84. Largest Rectangle in Histogram * 2016-5-13 by Mingyang* 这里并不需要两个stack&#xff0c;只需要一个stack&#xff0c;装的是递增序列的index* 直到遇到一个递减的时候&#xff0c;弹出来&#xff0c;求一个一个的面积大小* 不过注意的是最后如果以递增的序列结尾…