一:  创建bean的方法:

  1: 如果不采用构造注入:默认调用bean的无参构造函数,因此该类必须要提供无参构造函数,用无参构造函数用反射创建bean。

:               如果采用构造注入:则使用 <constructor-arg>配置一个构造函数。

2:用静态工厂方法创建bean: factory-method = "xxxxx"

// 要在bean内部定义一个静态工厂。
<bean id="personService" class="com.spring.service.PersonServiceBeanFactory" factory-method="createPersonService"> //注意: 这里的class是工厂类
//静态工厂类(由静态方法创建bean)
public class PersonServiceBeanFactory {
 <bean id="factory" class="工厂类"/>
<bean id="" factory-bean="factory" factory-method="实例工厂方法"/>

3:   工厂实例被创建:

              public static PersonService createPersonService(){
return new PersonService();
}
}

二:不含有无参构造函数的类,可以用反射实例化吗?

可以:  如下两种方法都可以,第二种就是调用有参数构造函数,但是要清楚构造函数的参数是什么。

    // 调用newInstance方法创建Person类对象, 
    Class<Person> cls = Person.class;  
    Person p = cls.newInstance(); System.out.println(p); // 使用构造器类创建Person类对象
Constructor<Person> con = cls.getConstructor(String.class, int.class);
Person person = con.newInstance("lili", 12);
System.out.println(person);

最新文章

  1. HttpClientHandler
  2. Spring的国际化资源messageSource
  3. GridView点击排序
  4. Power Gating的设计(模块二)
  5. Android百度地图开发05之公交信息检索 + 路线规划
  6. 018如何建立自动化框架 how to bulid the framwork
  7. 常用linux命令合集(持续更新中)
  8. Jquery:Jquery中的事件&lt;二&gt;
  9. 百度编辑器ueditor 在vs2008中的使用方法
  10. java读取配置文件的几种方法
  11. Selenium 设置浏览器下载 Firefox 和Chrome
  12. API接口通讯参数规范(2)
  13. jsp中使用原生js实现异步交互
  14. 窗体Form的FormStyle属性设置为fsStayOnTop时属性设置不起作用问题探讨。
  15. Appium笔记(一) 丶Appium的自我介绍
  16. Python学习-21.Python的代码注释
  17. linux常用命令总结-&gt;1
  18. jQuery瀑布流+无限加载图片
  19. 微信图片反防盗链 用js不太成熟的解决方式 仅供参考
  20. oracle data file header replace(測)

热门文章

  1. html文件转换成pdf和word
  2. Bluetooth Profile for iPhone from the functional perspectives
  3. FMX.TTabControl_多行
  4. Delphi调用Java类
  5. Maven基础配置
  6. phalcon:整合官方多模块功能,方便多表查询
  7. Educational Codeforces Round 33 (Rated for Div. 2)A-F
  8. handsontable 给单元格自定义属性
  9. svn上传文件钩子
  10. Eclipse插件开发_异常_01_java.lang.RuntimeException: No application id has been found.