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

建设电影网站论文三亚政策最新消息

建设电影网站论文,三亚政策最新消息,房产公司网站模板,企业推广语JDK动态代理#xff08;tedu#xff09;#xff08;内含源代码#xff09; 源代码下载链接地址#xff1a;https://download.csdn.net/download/weixin_46411355/87546187 目录JDK动态代理#xff08;tedu#xff09;#xff08;内含源代码#xff09;源代码下载链接…JDK动态代理tedu内含源代码 源代码下载链接地址https://download.csdn.net/download/weixin_46411355/87546187 目录JDK动态代理tedu内含源代码源代码下载链接地址[https://download.csdn.net/download/weixin_46411355/87546187](https://download.csdn.net/download/weixin_46411355/87546187)一、创建一个SpringBoot项目二、配置类三、service层3.1 接口类3.2 实现类四、JDK动态代理根据目标类获取代理类的方法五、测试类六、测试结果问题为什么 System.out.println(proxy);会打印事务开始和事务提交一、创建一个SpringBoot项目 二、配置类 SpringConfig package com.tedu.config;import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration;ComponentScan(com.tedu) Configuration public class SpringConfig {} 三、service层 3.1 接口类 UserService package com.tedu.service;public interface UserService {void addUser();void deleteUser(); } 3.2 实现类 package com.tedu.service;import org.springframework.stereotype.Service;Service public class UserServiceImpl implements UserService{Overridepublic void addUser() {System.out.println(完成用户新增);}Overridepublic void deleteUser() {System.out.println(完成用户删除);} } 四、JDK动态代理根据目标类获取代理类的方法 package com.tedu.proxy;import com.sun.corba.se.spi.ior.ObjectKey;import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy;public class JDKProxy {public static Object getProxy(Object target){//1.获取类加载器ClassLoader classLoader target.getClass().getClassLoader();//2.获取接口Class?[] interfaces target.getClass().getInterfaces();//通过代理的类新创建一个代理的对象return Proxy.newProxyInstance(classLoader, interfaces, getInvocationHandler(target));}//代理对象执行方法是调用public static InvocationHandler getInvocationHandler(Object target){//这些代码都是写死的return new InvocationHandler() {Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {System.out.println(事务开始);//执行目标真实对象的方法Object result method.invoke(target, args);System.out.println(事务提交);return result;}};}} 五、测试类 package com.tedu.test;import com.tedu.config.SpringConfig; import com.tedu.proxy.JDKProxy; import com.tedu.service.UserService; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class SpringTx {public static void main(String[] args) {ApplicationContext applicationContext new AnnotationConfigApplicationContext(SpringConfig.class);UserService userService applicationContext.getBean(UserService.class);System.out.println(userService.getClass());UserService proxy (UserService)JDKProxy.getProxy(userService);System.out.println(proxy.getClass());System.out.println(proxy);System.out.println(proxy.toString());//基于代理对象执行业务操作 实现方法扩展proxy.addUser();proxy.deleteUser();} } 六、测试结果 问题为什么 System.out.println(proxy);会打印事务开始和事务提交 因为System.out.println(proxy);默认等价于System.out.println(proxy.toString());虽然没有调用业务方法但还是调用了目标对象的toString()方法所以会出现事务开始和事务提交。
http://www.hkea.cn/news/14446609/

相关文章:

  • 中卫企业管理培训网站wordpress 自动升级
  • 长春建设网站公司设计网页代码源代码
  • 做公司网站要走哪些流程网站建设 目的
  • 城建设投资公司网站网站广告制作
  • 贵州省省建设厅网站中关村在线手机论坛
  • 杭州如何设计网站首页wordpress访问太慢
  • wordpress 仿站页面设置自定义wordpress
  • 网站开发业内人士网页版我的世界
  • 东莞网站公司哪家好网站如何快速推广
  • 武城做网站wordpress 后台 谷歌字体
  • 渭南市建网站企业网站优化找哪家
  • 主机做网站服务器怎么设置微信营销的优缺点
  • 石家庄网站定制制作phpstudy配置网站
  • 网站鼠标特效代码企业网站建设河北
  • 免费做网站网站有人哪些深圳搜索优化排名公司
  • 南宁网站设计公司排名淘宝网站的建设情况
  • 广州微信网站制作门源网站建设公司
  • 单位网站建设公司建设电子商务网站的启示
  • 临沂网站wordpress安装不了插件
  • 上海网站开发公司外包商务网站开发流程有哪三个阶段
  • 没电脑可以建网站吗建设部网站上标准合同
  • 跨境网站建站wordpress 插件页面
  • ui设计参考网站有哪些网址导航类网站如何做推广
  • 做gif表情包的网站请叫我鬼差大人王烨
  • 男科医院网站建设策略网站系统维护一个月正常吗
  • 网站定制开发什么意思东莞百度代做网站联系方式
  • 电商网站建设方案PPT收费网站设计
  • 站长之家是干嘛的wordpress id3
  • 建设彩票网站犯法吗天津网站建设制作方案
  • 北京品牌网站如何创建公众号的步骤