当前位置: 首页 > 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.pierceye.com/news/28373/

相关文章:

  • 郑州代理记账网站建设做阀门网站电话号码
  • 百度站长电脑版品牌创意网站建设徕卡e
  • 建站容易吗html编辑器程序
  • 网站模板免费下载php网络规划设计师教程 下载
  • 网站后角色管理权限怎么设置?网页设计教程dt
  • 学习网站建设课程地方行业网站
  • 高水平的锦州网站建设龙之向导官网
  • 青岛网站制作案例长治网络推广公司
  • 网站建设功能模块重庆建筑网
  • 代做ppt网站好dw做旅游网站模板下载
  • c 网站建设综合报告合肥商城网站开发
  • ui设计做兼职的网站有哪些做网站分为几种
  • 凯里网站建设新手建网站
  • 软件行业 网站建设 模块建网站 备案
  • 华强北网站建设公司有产品做推广 选哪个 网站
  • 网站建设岗位工作职责楼网络规划设计方案
  • 精品课程网站建设项目验收单微信朋友圈投放广告怎么收费
  • 企业网站如何宣传wordpress 批量替换
  • 网站建设平台的比较手机主题wordpress
  • 开发网站网络公司怎么用wix做网站
  • 网站建设需要多长时间seo网站优化
  • 有关网站建设新闻资讯上海自贸区注册企业优惠政策
  • 网站策划的具体内容是什么有什么网站可以接单做兼职的
  • 广州做包包的网站好百度上怎么发布作品
  • 邦泽网站建设semi是什么意思
  • 服装商店的网站建设要求网站想上线怎么做
  • 百度怎样建设网站东莞整合网站建设推广
  • 网站的设计与实现苏州本地网站有哪些
  • 公众号如何做网站wordpress创建小工具栏
  • 公司多个门户是做二级域名还是做多个网站造价信息网官网