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

oss如何做网站广汉网站建设

oss如何做网站,广汉网站建设,免费域名网站申请,北京网站建设亿玛酷适合5动态代理#xff1a;指的就是通过一个代理对象来创建需要的业务对象#xff0c;然后在这个代理对象中统一进行各种需求的处理。 学习完Spring后会发现#xff0c;Spring中的AOP#xff08;面向方面编程#xff1a;Aspect Oriented Programming#xff09;是个很重要的知识…  动态代理指的就是通过一个代理对象来创建需要的业务对象然后在这个代理对象中统一进行各种需求的处理。   学习完Spring后会发现Spring中的AOP面向方面编程Aspect Oriented Programming是个很重要的知识点。实现AOP我们一般采用代理的方式来实 现这样可以减少重复代码的编写也符合了OCP原则即对修改关闭对扩展开放。其创建过程如下   步骤1编写一个类实现InvocationHandler接口例如LogProxy类   步骤2在类中创建一个代理对象例如private Object target;   步骤3在类中创建一个方法来生成对象,这个方法的参数是指要代理的对象,getInstacne所返回的对象就是代理对象例如public static Object getInstance(Object o){ return null}     步骤3.1创建LogProxy对象例如LogProxy proxy new LogProxy();     步骤3.2设置这个代理对象例如proxy.target o;     步骤3.3通过Proxy的方法创建代理对象第一个参数是要代理对象的classLoader第二个参数是要代理对象实现的所有接口,第三个参数是实现类 InvocationHandler的对象此时的result就是一个代理对象代理的是o例如Object result Proxy.newProxyInstance(o.getClass().getClassLoader(),  o.getClass().getInterfaces(), proxy);   步骤4当有了代理对象之后不管这个代理对象执行什么方法都会调用invoke方法只要在该方法中作相应操作就可以了。   创建该类的具体代码如下      package com.proxy;import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy;public class LogProxy implements InvocationHandler {private Object target;public static Object getInstance(Object o){LogProxy proxy new LogProxy();proxy.targeto;Object result Proxy.newProxyInstance(o.getClass().getClassLoader(),o.getClass().getInterfaces() , proxy);return result;}public Object invoke(Object proxy, Method method, Object[] args)throws Throwable {Logger.info(进行了相关的操作);Object obj method.invoke(target, args);return obj;}} 接下来就是调用该类进行注入了。首先需要在applicationContent.xml配置文件中的bean中调用LogProxy类并且采用工厂方法的方式即factory-methodgetInstance。参考代码如下 bean iduserDynamicDao classcom.proxy.LogProxy factory-methodgetInstance!-- 构造方法中引用userDao --constructor-arg refuserDao//bean 如果采用annotation来注入则直接在userService类中的setUserDao方法前面加上注解Resource(nameuserDynamicDao) 就可以了 package com.service;import javax.annotation.Resource;import org.springframework.stereotype.Component; import org.springframework.stereotype.Service;import com.dao.IUserDao; import com.model.User; import com.sun.xml.internal.bind.v2.runtime.Name;Service(userService)//业务层一般用Service public class UserService implements IUserService {private IUserDao userDao;public void add(User user) {userDao.add(user);}public void delete(int id) {userDao.delete(id);}public IUserDao getUserDao() {return userDao;}public User load(int id) {return userDao.load(id);}Resource(nameuserDynamicDao)//采用代理来注入public void setUserDao(IUserDao userDao) {this.userDao userDao;}} 相关的类如下 package com.model;public class User {private int id;private String username;public User() {}public User(int id, String username) {this.idid;this.usernameusername;}public int getId() {return id;}public String getUsername() {return username;}public void setId(int id) {this.id id;}public void setUsername(String username) {this.username username;}Overridepublic String toString() {return User [id id , username username ];} } package com.dao;import org.springframework.stereotype.Component; import org.springframework.stereotype.Repository;import com.model.User;//Component(userDao)//等于完成了bean iduserDao classcom.dao.UserDao / Repository(userDao)//Repository一般用于DAO的注入 public class UserDao implements IUserDao {public void add(User user) {System.out.println(添加用户user);}public void delete(int id) {System.out.println(删除idid);}public User load(int id) {System.out.println(加载idid);return null;}} package com.dao;import com.model.User;public interface IUserDao {public void add(User user);public void delete(int id);public User load(int id);} package com.proxy;import java.util.Date;public class Logger {public static void info(String info){System.out.println(new Date()----info);} } package com.service;import com.model.User;public interface IUserService {public void add(User user);public void delete(int id);public User load(int id); } 相应的配置文件 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:aophttp://www.springframework.org/schema/aopxmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsd!-- 打开Spring的Annotation支持 --context:annotation-config/!-- 设定Spring 去哪些包中找Annotation --context:component-scan base-packagecom/bean iduserDynamicDao classcom.proxy.LogProxy factory-methodgetInstance!-- 构造方法中引用userDao --constructor-arg refuserDao//bean /beans  转载于:https://www.cnblogs.com/misterzxy/p/3548859.html
http://www.zqtcl.cn/news/28373/

相关文章:

  • 深圳规模较大的网站建设公司网站建设费用计算
  • 汕头网站建设推广成都优化官网推广
  • 贵州小城镇建设网站站长网站大全
  • 做房产经纪人要自己花钱开网站吗培训机构不退钱最怕什么举报
  • 国外哪个网站做c 挣钱东莞网站网络公司
  • 建设银行官方网站官网天津 app开发公司
  • 廊坊建站软件短链
  • .net商城网站模板下载东莞网站建设设计
  • 网站备案电话没接企业云服务
  • 移动ui设计 网站网站优化排名软件网
  • 龙华网站建设网站设计公司做网站需要每年交钱吗
  • 网站域名做跳转要收费吗帮别人做网站赚钱
  • 怎么找人做淘宝网站网站建设公司需要哪些
  • 注册域名后怎么建站毕设 代做 网站
  • 电子商务网站设计怎么做网址大全123
  • 网站开发技术 报告网页设计实训总结报告3000字
  • 沧州企业网站建设dede模板网站教程
  • 姓名域名网站综合网页设计
  • 做美工需要参考的网站免费域名解析网站
  • delphi 2010 网站开发网站开发就业趋势
  • 泉州高端模板建站seo在线推广
  • 怎样注册网站帐号申请wordpress快速赚钱
  • 空间网站自己做平台网站
  • 婚纱网站设计图扬中会建网站
  • 长春网站建设网站制作推广黄岛网站建设价格
  • 做教育网站需要规划哪些内容自己的网站怎么做实时监控
  • 微信网站备案站群网站
  • 白云免费网站建设网站开发非常之旅
  • 网站伪静态规则佛山网站制作咨询
  • 珠海网站建设厚瑜网站制作 天津