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

上海网站开发搜索引擎推广文案

上海网站开发,搜索引擎推广文案,公共资源交易中心是事业单位吗,网站建设流程规划今天没有偷懒,只是忘了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.hengruixuexiao.com/news/17315.html

相关文章:

  • 刚刚做的网站怎么排名seo网站优化推广
  • 怎么修改网站图标零基础seo入门教学
  • 网站开发经验总结软文范例大全800字
  • 深圳自适应网站开发公司关键词优化公司排名
  • 湛江做网站设计哈尔滨网站优化
  • wap网站制作软件站长工具樱花
  • 网站建设的报价为什么不同软文范例大全
  • 成都市做网站最新新闻热点事件及评论
  • 深圳市城乡建设和管理委员会网站自己在家怎么做跨境电商
  • 沈阳做个网站成本企业获客方式
  • 接任务做兼职的的网站域名是什么意思呢
  • 温州设计网站建设如何设计与制作网页
  • 珠海建设工程交易中心网站百度发广告怎么发
  • 页面在线设计网站如何做网页设计
  • 沧州做网站的大公司网站优化排名软件推广
  • 织梦 5.7网站地图手机百度app最新版下载
  • 一个做二维码问卷调查的网站搜狗提交入口网址
  • 做发帖的网站代码猪八戒网接单平台
  • 网页设计作品集图片搜索引擎优化自然排名
  • 政府网站建设联系电话seo网址大全
  • 网站制作前期网站友情链接的好处
  • 网站建设和推广话术热门推广平台
  • 论坛网站建设开源工具中文搜索引擎排行榜
  • 跨境电商网站 建设要求北京seo执行
  • 搜索引擎优化简称seo西青seo
  • 宝塔怎么做两个网站的解析营销课程培训视频
  • 成都网站定制中心seo关键词排名怎么提升
  • 网站建设 预算百度公司排名多少
  • 国内视频网站域名百度浏览器
  • wordpress日期输入镇江抖音seo