求解!!简单AOP的实现

BestFIzz 2017-03-18 03:18:54
我就是想实现一个非常简单的AOP,但不知为什么运行一直报错,下面给出代码,求大神解惑一波啊~非常感谢!
User类:
package aop;
public class User{
public void login(){}
public void logout(){}
}

LoginServer类:
package aop;
public class LogService {
public void enter(){
System.out.println("Someone login---");
}
public void leave(){
System.out.println("Someone logout---");
}
}

主类UserApp:
package aop;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class UserApp {
public static void main(String[] args){

ClassPathXmlApplicationContext ctx=new ClassPathXmlApplicationContext("Login.xml");
User user = (User) ctx.getBean("liming");
user.login();
user.logout();
}
}

XMl文件Login.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">

<bean id="liming" class="aop.User"/>
<bean id="log" class="aop.LogService"/>
<aop:config>
<aop:aspect ref="log">
<aop:before method="enter" pointcut="execution(* aop.User.login(..))" />
<aop:after method="leave" pointcut="execution(* aop.User.logout(..))" />
</aop:aspect>
</aop:config>

</beans>

就这么多代码,想通过AOP将enter和leave输出,但一直报错,错误指向引用XMl文件的那段代码ClassPathXmlApplicationContext ctx=new ClassPathXmlApplicationContext("Login.xml");
求解~~~
...全文
145 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
BestFIzz 2017-03-18
  • 打赏
  • 举报
回复
都没有给力的兄弟吗
内容概要:本文涵盖了广泛的计算机科学和技术主题,主要包括排序算法的详细解析,如直接插入排序、折半插入排序、冒泡排序、归并排序、快速排序、希尔排序、简单选择排序和堆排序;SpringBoot的核心注解及其启动参数的配置方式;Spring的依赖注入概念及其优势;Spring AOP实现原理;WebSocket通信机制;线程间通信方式;进程间通信方式;线程和进程的区别;Linux磁盘使用量查看命令;Linux文件查找命令;Linux操作系统内核组成;Java的编译与解释共存机制;Java小数精度丢失的原因及解决方案;BigDecimal的原理;SQL中drop、delete、truncate的区别;static修饰变量和函数的特点;高级语言、汇编语言、编译语言、机器语言的区别;动态链接库和静态链接库的区别;线程同步锁的使用场景;JVM虚拟机的重要性;最长回文子串的求解方法;红黑树与哈希表的区别;IO多路复用的理解;epoll和select的区别;Socket通信机制;浮点数存储的精度问题;查找数组中第k大元素的方法;两个栈或队列的相互实现。 适合人群:具备一定编程基础的开发者,特别是对Java、Linux、网络编程、数据结构与算法等领域感兴趣的读者。 使用场景及目标:①帮助开发者深入理解排序算法的实现原理及其时间复杂度;②掌握Spring框架的核心技术,如依赖注入、AOP等;③熟悉Linux命令行操作,包括磁盘管理和文件查找;④理解线程和进程的通信机制,提升并发编程能力;⑤学习JVM的工作原理,优化Java程序性能;⑥掌握网络编程中的Socket通信机制;⑦提高数据结构和算法的应用能力,解决实际编程中的复杂问题。 阅读建议:本文内容丰富,涵盖多个领域,建议读者根据自身需求选择感兴趣的部分重点阅读,并结合实际项目进行实践,以加深理解和应用。

51,412

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧