总结从hello word到Spring Aop框架_提炼精髓

来源:互联网 发布:bodymovin插件 mac 编辑:程序博客网 时间:2024/06/07 09:46

java中到底在学什么?

1,对象

          面向对象思考问题

                   寻找处理数据的对象

                             谁拥有数据,谁就对外提供处理数据的方法(自己是数据的处理者)

 

2,关系

          因果关系解决问题

                   寻找对象之间的关系

                              谁贡献方法,谁就作为参数传递给对方的方法(自己是功能的贡献者)

微笑                             

面向对象:

java最基础的Demo.java代码:

class Demo{

         public static void main (String[ ] args)}

                   System.out.println("Hello,word");

        }

}

谁拥有数据?字符串"Hello,word"在Demo{}的大括号中,所以是Demo处理数据,处理的方法是main方法,处理的方式是println打印;

 

微笑

寻找关系:

java很高级的SpringAop框架:

需求:按照配置文件上的配置,创建一个JavaBean对象给我;

1,面向对象的指挥者:某main函数,建立链接配置文件的InputStream,并告知类名字符串对应的Key字符串;

2,一代对象:BeanFactory——  从流中找到与Key对应的value,通过Class对象及其创建对象的功 能(new instance()),就得到了一个Bean对象,如果这个bean对象是属于代理类型(ProxyFactoryBean),就读取其两个参数(target & Advice),并把这两个数据交给((ProxyFactoryBean)Bean)对象去一手操办创建代理(Proxy)对象,得到proxy对象后,BeanFactory对象把它交给指挥者main方法;

3,二代对象:ProxyFactoryBean——只接受委派者(BeanFactory)的指挥,如果BeanFactory建立的Bean对象 不属于ProxyFactoryBean类,那么就不需要ProxyFactoryBean对象创建代理对象(proxy)了,直接返回Bean给那个main方法就可以了;

 

IO流+Class+reflect+JavaBean+Proxy+InvocationHandler(匿名内部类)= BeanFactory & ProxyFactoryBean

一个框架就这样产生了,一个框架可以说是二者功劳:BeanFactory & ProxyFactoryBean                                                      

                                                        也可以说是群众巨作:IO流+Class+reflect+JavaBean+Proxy+InvocationHandler(匿名内部类)

 

小小总结,大大收获;微笑


原创粉丝点击