黑马程序员_Java高薪技术1
2014-08-18 10:43
176 查看
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
黑马程序员_Java高新技术之实现类似spring的可配置的AOP框架
1.工厂类BeanFactory负责创建目标类或代理类的实例对象,并通过配置文件实现切换。其getBean方法
是根据参数字符串返回一个相应的实例对象,如果参数字符串在配置文件中对应的类名不是ProxyFactory
Bean,则直接返回该类的实例对象,否则,返回该类实例对象的getProxy方法返回的对象
2.BeanFactory的构造方法接收代表配置文件的输入流对象,配置文件格式如下:
#xxx=java.util.ArrayList
xxx=cn.itcast.ProxyFactoryBean
xxx.target=java.util.ArrayList
xxx.advice=cn.itcast.MyAcvice
现在分为两个步骤:
第一:写出BeanFantory。(其中ProxyFactoryBean也是一个特殊的JavaBean)
第二:写出ProxyFactoryBean。
首先在cn.itcast.javaehance3day2中建立一个package :aopframwork;
然后在cn.itcast.day3中建立一个package:cn.itcast.day3.aopframework;
在包cn.itcast.day3.aopframework中创建一个类:
叫做:BeanFactory
叫工厂,它专门负责创建JavaBean对象,
透彻分析反射的基础_Class类。
反射不是JDK的新特性。
class一般是我们定义一个类的时候用到的关键字
但是这个地方,有一个Class的类。它代表的一个新的事物。
Java程序中的各个Java类,它们是否属于同一类事物,是不是可以用一个类来
描述这个类的事物呢?这个类的名字就叫Class。
类名.class, 例如,System . class
对象.getClass(),例如,new Date() .getClass
Class.forName("类名"),例如,Class.forName("java.util.Date");
有可能的是在写源程序的时候还不知道类的名字。
有八个基本的数据类型。
这个类型也就是分别对应了八个基本的Class的基本类型。
还有一个关于Void的,也有对应的Class返回类型。
比如:Class clsl=void.class;
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
黑马程序员_Java高新技术之实现类似spring的可配置的AOP框架
1.工厂类BeanFactory负责创建目标类或代理类的实例对象,并通过配置文件实现切换。其getBean方法
是根据参数字符串返回一个相应的实例对象,如果参数字符串在配置文件中对应的类名不是ProxyFactory
Bean,则直接返回该类的实例对象,否则,返回该类实例对象的getProxy方法返回的对象
2.BeanFactory的构造方法接收代表配置文件的输入流对象,配置文件格式如下:
#xxx=java.util.ArrayList
xxx=cn.itcast.ProxyFactoryBean
xxx.target=java.util.ArrayList
xxx.advice=cn.itcast.MyAcvice
现在分为两个步骤:
第一:写出BeanFantory。(其中ProxyFactoryBean也是一个特殊的JavaBean)
第二:写出ProxyFactoryBean。
首先在cn.itcast.javaehance3day2中建立一个package :aopframwork;
然后在cn.itcast.day3中建立一个package:cn.itcast.day3.aopframework;
在包cn.itcast.day3.aopframework中创建一个类:
叫做:BeanFactory
叫工厂,它专门负责创建JavaBean对象,
<span style="font-size:14px;">package cn.itcast.day3.aopframework; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import cn.itcast.day3.Advice; public class BeanFactory { Properties props = new Properties(); //这个地方想要得到Properties对象,这个时候也必须要导入包。 public BeanFactory(InputStream ips){ //这个时候的构造方法要接收一个配置文件。这个时候的配置文件必须要导入包。 try { //import java.io.InputStream; props.load(ips);//这个时候会出现异常,最好采用第二种捕捉的方法。而不是采用抛出的方法。 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace();//这个地方视频中提到了,关于商业性的项目,如果是商业性的项目必须要进行异常的检查。 } //而且做商业性的项目可能是85%是在处理意外。 } public Object getBean(String name){ //这个时候的方法是对外的。接收一个String类型的参数。 String className = props.getProperty(name);/*根据xxx=cn.itcast.ProxyFactoryBean拿到名字,类名。 Object bean = null; try { Class clazz = Class.forName(className); bean = clazz.newInstance(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } if(bean instanceof ProxyFactoryBean){ Object proxy = null; ProxyFactoryBean proxyFactoryBean = (ProxyFactoryBean)bean; try { Advice advice = (Advice)Class.forName(props.getProperty(name + ".advice")).newInstance(); Object target = Class.forName(props.getProperty(name + ".target")).newInstance(); proxyFactoryBean.setAdvice(advice); proxyFactoryBean.setTarget(target); proxy = proxyFactoryBean.getProxy(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return proxy; } return bean; } } </span>
透彻分析反射的基础_Class类。
反射不是JDK的新特性。
class一般是我们定义一个类的时候用到的关键字
但是这个地方,有一个Class的类。它代表的一个新的事物。
Java程序中的各个Java类,它们是否属于同一类事物,是不是可以用一个类来
描述这个类的事物呢?这个类的名字就叫Class。
类名.class, 例如,System . class
对象.getClass(),例如,new Date() .getClass
Class.forName("类名"),例如,Class.forName("java.util.Date");
有可能的是在写源程序的时候还不知道类的名字。
有八个基本的数据类型。
这个类型也就是分别对应了八个基本的Class的基本类型。
还有一个关于Void的,也有对应的Class返回类型。
比如:Class clsl=void.class;
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
相关文章推荐
- 黑马程序员_Java高薪技术之泛型
- 黑马程序员_高薪技术一(java反射)
- 黑马程序员_Java高薪技术2
- 黑马程序员_Java高薪技术之构造方法的反射应用
- 黑马程序员-java基础06高薪技术
- 黑马程序员————java高薪技术---反射单元1
- 黑马程序员——java基础加强高薪技术总结
- 高薪技术排行:大数据居首,苹果相关次之,Java、C等相去甚远
- 黑马程序员________Java中IO技术字节流字符流的应用及File类学习笔记
- 黑马程序员________Java中IO技术其他常用流对象学习笔记
- 黑马程序员高薪_javaBean
- 黑马程序员——java网络技术中的tcp套接字的应用
- 黑马程序员——java中的反射技术再探
- 黑马程序员--Java代理技术
- 黑马程序员--Java学习分享--希望大家的Java技术更近一步
- 黑马程序员--JAVA基础加强之反射技术
- 黑马程序员——java反射技术
- 黑马程序员-----java基础二十一(java之反射技术应用(代理))
- 黑马程序员--Java反射技术
- 黑马程序员_Java反射技术(一)