1、导入jar
1.1、基本类包:四个核心包 一个日志包(commons-logging)
2、在src下新建applicationContext.xml
2.1 文件名称和路径自定义
2.2 记住Spring容器ApplicationContext, applicationContext.xml 配置的信息最终存储到ApplicationContext容器中
2.3 Spring配置文件是基于schema
2.3.1 schema文件扩展名 .xsd
2.3.2 把schema理解成DTD的升级版
2.3.2.1 比DTD具备更好的扩张性
2.3.3 每次引入一个xsd文件是一个namespace(xmlns)
2.4 配置文件中只需要引入基本schema
2.4.1 通过<bean/>创建对象
2.4.2 默认情况下,配置文件被加载时创建对象
3、编写测试方法
3.1 getBean("<bean>标签id值",返回值类型) 如果没有第二个参数默认是obejct
3.2 getBeanDefinitionNames() ,Spring容器中目前所有管理的所有的对象
1 public class Test { 2 public static void main(String[] args) { 3 /*People pe=new People();*/ 4 5 ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); 6 People peop = ac.getBean("peo",People.class); 7 System.out.println(peop); 8 9 // String[] names = ac.getBeanDefinitionNames();10 // for(String str:names){11 // System.out.println(str);12 }13 14 }
4、Spring创建对象的三种方式
1 通过构造方法创建
1.1 无参构造创建:默认情况
1.2 有参构造创建:需要明确配置
1.2.1 需要在类中提供有参构造方法
1.2.2 在applicationContext.xml 中设置调用哪个构造方法创建对象
1.2.2.1 如果设定的条件匹配多个构造方法执行最后的构造方法
1.2.2.2 index:参数的索引,从0开始
1.2.2.3 name:参数名
1.2.2.4 type:类型(区分开关键字和封装类int 和Integer)
15 6 7 108 9
2 实例工厂
2.1 工厂设计模式:帮助创建类对象,一个工厂可以生产多个对象
2.2 实例工厂:需要先创建工厂,才能生产对象
我这里是简单实例,还可以单例工厂,抽象工厂,,,,
public class CreatePeopleFactory { public People newInstance(){ return new People("测试22",22); }}
2.3 在applicationContext.xml中配置工厂对象和需要创建的对象
3 静态工厂
3.1 不需要创建工厂,快速创建对象
3.2 实现步骤
3.2.1 编写一个静态工厂(在方法上添加static)
public class CreatePeopleFactory { /** * 静态工厂 */ public static People newInstance(){ return new People("测试33",23); }}
3.2.2 在applicationContext.xml中配置工厂的方法
5、如何给Bean的属性赋值(注入)
1、通过构造方法设置值
2、设置注入(通过set方式)
2.1 如果属性是基本数据类型或String等简单数据类型
2.1.1 等效于
"阿旭522" 522
2.2 如果属性是Set<?>,通过这种方式注入, List<?>一样(如果list就只有一个值,可以使用value=进行赋值)
12 133 "阿旭522" 4 522 5 126 111 72 83 94 10
2.3 如果属性是数组通过这种方式注入,String[]
1 2 3
2.3.1 如果数组只有一个值,可以使用value进行赋值
2.4 如果属性是Map<?,?>通过这种方式
2.5 如果属性是 Properties类型 通过这种方式注入
value value1