SSH需要的关键技术

本文探讨SSH中涉及的关键技术,包括代理和反射。静态代理通过创建代理类实现服务增强,而动态代理则在运行时生成代理对象,JDK动态代理基于接口,CGLib则是通过生成目标类的子类进行增强。反射则允许在运行时操作类和对象,提供了强大的灵活性。
摘要由CSDN通过智能技术生成

1  代理  (用来进行类的增强  和service实现类一样都继承相同的接口)

       静态代理---------创建一个代理类,运行之前就已经确定了代理某个service实现类

       动态代理---------不需要创建代理类,通过工厂产生代理对象,在运行时才生成代理

                     jdk动态代理:target=Proxy.newProxyInstance(target.getClass().getClassLoader()目标类加载器,

                                                                                              目标类实现的接口target.getClass().getInterfaces(),

                                                                                              new InvocationHandler(){

                                                                                                            public Object invoke(Object proxy,Method method 目标方法,Objects[] args目标方法参数){

                              method.invoke(target 这个引用外部类的变量必须是final修饰的,args);}

}内部匿名类,增强在这里面完成)

                CGLib动态代理(code generation lib):jdk动态代理要求目标类实现相同的接口,若目标不存在接口,则无法使用该方式实现。GBLib不需要实现接口,底层是生成一个目标类的子类来增强,所以目标类必须可继承,不能用final修饰。

                

 

2反射

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值