当前位置: 首页 > news >正文

网站开发重庆启动wordpress

网站开发重庆,启动wordpress,谷歌google官方网站,官网优化公司今天没有偷懒,只是忘了Mybatis,所以去补课了~ ┏━━━━━━━━━━━━━━━┓ NICE PIGGY PIG.. ┗━━━━━━━△━━━━━━━┛ ヽ(・ω・)ノ | / UU 1.Aop实现方式一 1.1、什…

今天没有偷懒,只是忘了Mybatis,所以去补课了~

┏━━━━━━━━━━━━━━━┓  NICE PIGGY PIG..  
┗━━━━━━━△━━━━━━━┛  ヽ(´・ω・)ノ       |  /         UU          

1.Aop实现方式一

1.1、什么是AOP

1.2、AOP在Spring的作用

3、使用Spring实现Aop

1.4、案例代码

//1.afterLog
package com.zhang.log;import org.springframework.aop.AfterAdvice;
import org.springframework.aop.AfterReturningAdvice;import java.lang.reflect.Method;public class AfterLog implements AfterReturningAdvice {@Overridepublic void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable {System.out.println("执行了"+method.getName()+"方法,结果为:"+returnValue);}
}
//2.Log
package com.zhang.log;import org.springframework.aop.MethodBeforeAdvice;import java.lang.reflect.Method;public class Log implements MethodBeforeAdvice {@Overridepublic void before(Method method, Object[] args, Object target) throws Throwable {System.out.println(target.getClass().getName()+"的"+method.getName()+"被执行了");}
}//3.UserService
package com.zhang.service;public interface UserService {void add();void delete();void update();void query();
}//4.UserServicelmpl
package com.zhang.service;public class UserServicelmpl implements UserService {@Overridepublic void add() {System.out.println("添加!");}@Overridepublic void delete() {System.out.println("删除!");}@Overridepublic void update() {System.out.println("更改!");}@Overridepublic void query() {System.out.println("查找!");}
}//5.Test类
import com.zhang.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");UserService userService = context.getBean("UserService", UserService.class);userService.delete();}
}//6.pom.xml<!--aop织入--><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.4</version></dependency>
//7.application.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd
"><!--注册bean--><bean id="log" class="com.zhang.log.Log"></bean><bean id="afterLog" class="com.zhang.log.AfterLog"></bean><bean id="UserService" class="com.zhang.service.UserServicelmpl"></bean><!--方式一:执行原生Spring API接口--><!--配置aop:需要导入aop的约束--><aop:config><!--切入点:expression:表达式。execution(要执行的位置!* * * *),括号里的两个点表示可以有任意的参数--><aop:pointcut id="pointout" expression="execution(* com.zhang.service.UserServicelmpl.*(..))"/><!--执行环绕增强--><aop:advisor advice-ref="log" pointcut-ref="pointout"/><aop:advisor advice-ref="afterLog" pointcut-ref="pointout"/></aop:config>
</beans>

2、Aop实现方式二

相关代码如下:

<!--方式二:自定义--><bean id="diy" class="com.zhang.diy.Diy"/><aop:config><!--自定义切面 ref表示要引用的类--><aop:aspect ref="diy"><!--切入点--><aop:pointcut id="point" expression="execution(* com.zhang.service.UserServicelmpl.*(..))"/><!--通知也就是方法--><aop:before method="before" pointcut-ref="point"/><aop:after method="after" pointcut-ref="point"/></aop:aspect></aop:config>

3、Aop实现方式三

注解实现IOP

方式三是通过注解来实现的,这里多加了个环绕的知识点。

相关代码:

package com.zhang.diy;
​
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.Signature;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
​
@Aspect
public class AnnotationPoinCut {@Before("execution(* com.zhang.service.UserServicelmpl.*(..))")public void before(){System.out.println("=====前====");}@After("execution(* com.zhang.service.UserServicelmpl.*(..))")public void after(){System.out.println("=====后====");}@Around("execution(* com.zhang.service.UserServicelmpl.*(..))")public void around(ProceedingJoinPoint jp) throws Throwable {System.out.println("环绕前");Object proceed = jp.proceed();System.out.println("环绕后");}
}

 总结

​总言之,aop的实现可能理解会有点麻烦,但是只要再看一遍视频就好了。其实主要就是一些理念的理解,比如说切面,切入点这些。很简单的,用心就可以了。加油哦!

http://www.yayakq.cn/news/317762/

相关文章:

  • 网站排行榜查询网站建设的人才怎么称呼
  • 网站买卖交易平台数据库网站建设
  • h5 网站开发seo引擎优化服务
  • 房地产 网站 欣赏怎样做网站背景
  • 小广告多的网站没有域名的时候建网站
  • 寻找网站设计与制作大淘客联盟做网站
  • 某企业网站建设论文电商网站的二级菜单怎么做
  • 深圳做电子工厂的网站知名网站建设策划
  • 企业门户网站建设的意义兰州市城市建设设计院官网
  • 个人网站酷站赏析娃哈哈软文推广
  • 做微信图文推送的网站asp网站合法
  • 科技成果转化网站建设方案分销商城模式系统开发
  • 建站出海mvc网站开发 案例视频
  • ftp网站后台新白鹿网络营销方式
  • 万网注册的域名怎么建设网站我和你99谁做的网站
  • 网站为什么要seo网架生产公司
  • 简单网站php源码下载个人官网网站源码
  • 怎样用自己的服务器做网站网站建设的扩展性分析
  • 企业建立网站的必要性东莞大岭山核酸检测点
  • 中音阶梯网站谁家建设大连网络宣传网站
  • 全返利网站建设电商网站模块有哪些
  • 网站算阵地建设西安mg动画制作网站建设
  • 网站服务器广告logo设计软件
  • 可以接外包的网站扫黄除恶网站构造结构怎么做
  • 手机版网站与app咸宁网站建设网络公司
  • 代码库网站加大网站建设力度
  • 外贸营销网站安卓5 wordpress
  • php个人网站模板为什么需要网站开发
  • 网站建设流程表程序编程软件
  • 企业网站翻译免费ppt模版网站