aspectjrt.jar(aspectjrtjar官网)
关于spring3使用AOP编程时需要引入哪些jar包的问题
您好,我来为您解答:
初次接触spring框架,网上最新版的spring已经是3.1了
经过多次摸索,除了引入spring框架dist目录下的org.springframework.aop-3.1.1.RELEASE.jar之外,
还需要自己下载第三方依赖包:
aspectjrt.jar,aspectjweaver.jar(最新发布版是1.6.2)
以及aopalliance.jar(最新发布版是1.0)
引入以上jar包之后,就可以通过@Aspect等注解方式进行AOP编程了;
依此记录下来,供其他遇到这类问题的朋友参考。
如果我的回答没能帮助您,请继续追问。
IntelliJ IDEA中AspectJ插件的安装及使用?
AspectJ是AOP的一种实现技术,IntelliJ IDEA是一款集成开发工具。在使用IntelliJ IDEA编写AspectJ代码之前需要本机先安装AspectJ,具体的安装步骤可以参考我的其他文章。AspectJ的功能类似于拦截器,这是一种切面技术,我们可以使用AspectJ切入满足切点规则的所有方法,并在方法的执行前后加一些通用的处理,下面跟着我一起去学习吧。
工具/材料
IntelliJ IDEA
首先我们打开IntelliJ IDEA开发工具,在菜单栏点击File--Settings--Plungins,进入到插件管理的页面。接下来我们在右侧的搜索框输入Aspect查询,下图在输入到Asp时便会模糊查询出结果,我们将AspectJ Support和Spring AOP/@AspectJ后面的方框勾选上即可。
接下来我们按住Ctrl+Shift+Alt+S,或者点击下图中所示的图标进入到Project Structure页面,点击Project Settings下方的Libraries,然后点击"+"号,最后选择Java,在接下来弹出的页面中选择aspectjrt.jar这个jar包。
接下来再回到Project Structure下方的Libraries设置,选择需要应用AspectJ的工程,然后点击“OK”按钮即可。
接下来进入到真正使用的部分了,我们首先创建一个Aspect切面,类似于创建一个类。在IntelliJ IDEA的菜单中点击“New”,新建一个Aspect。我们给这个切面取个名字MyAspectJ,注意下方的kind类别是Aspect,这里生成的aspectJ文件是.aj后缀的,而不是.class后缀的,这一点希望大家注意。
生成的aspectJ文件是.aj后缀的,所以原来的编译工具javac便不能使用了,因此我们需要修改编译工具。菜单栏点击File--Settings--搜索Compile,结构为Build,Execution,Deployment--Compiler--Java Compiler。我们右侧将Use Compiler修改为Ajc,在Path to Ajc compiler中选择安装目录下的aspectjtools.jar。
以上编译工具也设置完了,我们开始编写代码了。首先我们写一个入门的HelloWorld类,该类中有一个需要被AspectJ切面拦截的方法sayHello(),还有一个main方法用于执行程序。
然后我们再完善上面创建的MyAspectJ,创建pointcut切点,注意该写法是aspectJ特有的语法。pointcut表示定义的是一个切点,logPointCut()是切点的名字,call()里面是需要拦截的,* 标识返回值是任意类型,然后是类名.方法名(),..表示任意类型的参数。我们定义before()和after()这两个前置和后置拦截,分别用于在别拦截方法的前后执行。
最后在HelloWorld类执行main方法启动程序,我们看一下执行的结果,可以看到在sayHello()方法的执行前后分别执行了拦截。
特别提示
.aj后缀的文件必须要使用Ajc的编译器,javac不可以编译。
如何导入aspectjrt.jar这个包==菜鸟问题
你是用的Eclipse吗?在你的java项目下新建一个folder(文件夹),命名为lib,然后把你这个jar包复制粘贴到你的lib文件夹中。或者直接拖进去也行,然后右键这个jar包,选择Build Path,再选择Add to Build Path就行了。
spring相关包aspectjrt.jar,aspectjweaver.jar和cglib-nodep.jar究竟在哪里可以有官网下载的??
官网可以下载到的,你选择版本的时候,在3.0.2版本里面会多个spring-framework-3.0.2.RELEASE-dependencies.zip的文件,有150多M,里面包含了所有spring依赖的jar包。
spring-aspects和aspectjweaver.jar,aspectjrt.jar这两个包的关系
Spring3.0不再一起发布依赖包了。而是使用Maven的pom进行管理,aspectjweaver是作为可选依赖项引入: org.aspectj aspectjweaver true