Spring笔记xml(一)

设置eclipse常用的新建文件,方便以后练习。window——perspective——Customize Perspective —— Menu Visibility:Class、Package、Java Project 、Interface、Source Folder、Enum Annotation、Css File、HTML File、JSP file、Filter、Spring Bean Configuration File。

1、新建动态web工程,new——Dynamic Web Project

2、导入spring基本jar包:①spring—beans、②spring—context、③spring—core、④spring—expression、⑤commons—logging

3、创建spring配置文件(在src目录下):new——spring Bean configuration File 命名为 beans.xml  或者  applicationContext.xml

每一个bean标签都对应一个类对象,class属性:指定是哪个类的对象,类的全类名

4、获取bean容器对象:ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

5、从容器对象中获取bean对象:Person bean0 = context.getBean(Person.class);

  获取容器的三种方式:

①ClasspathXmlApplicationContext:默认加载src目录下的配置文件,常用的方式

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

②FileSystemXmlApplicationContex:默认加载本地磁盘上的配置文件的完整路径

ApplicationContext context = new FileSystemXmlApplicationContext("applicationContext.xml的绝对路径");

③XmlBeanFactory:通过bean工厂的方式。

Resource resource = new FileSystemResource("applicationContext.xml的绝对路径");

XmlBeanFactory context = new XmlBeanFactory(resource);

   从bean容器中获取bean对象的两种方式:

①通过class属性,字节码方式:指定是哪个类的对象,class属性指定类的全类名。

②通过id属性或是name属性,object方式:id属性,表示bean对象在容器中的唯一标识符[identifier],该值必须是唯一的;name属性,表示该bean对象在容器中的名字,该值也是唯一的。

以上这两种方式的区别:①传递的参数不同,一个是字节码参数,另一个是传递字符串类型的id或者name值;②返回值不同,一个是字节码类型的对象,id和name是object。

容器中的bean对象的创建时机,是在获取容器对象的时候,bean底层原理是反射+XML解析,容器中的bean都是单例的。

 

6、bean标签的scope属性:作用范围

 

request:每一次请求,都会创建一个bean对象

 

session:每一次会话,都会创建一个bean对象

 

prototype:多例的,对象是在容器中获取对象的时候才被创建

 

singleton:单例的,单例是默认值,对象是在加载容器对象的时候创建的。

7、

 

外部bean:在beans标签内部的bean对象称之为外部bean,外部bean可以被任意bean对象引用。

 

内部bean:在bean标签的某个属性内部定义的bean对象,称之为内部bean,内部bean只能被对象的某个属性引用。

 

property标签:对象的普通属性用value属性赋值,引用类型的属性用ref属性赋值。

8、bean对象创建的三种方式:

 

①构造器,无参构造器和有参构造器。

 

②静态工厂,通过类的静态方法创建的对象。factory-method

 

③实例工厂,通过类对象的普通方法创建的对象。factory-bean——factory-method

 

9、属性赋值之构造器:

 

name指定属性的名称,index指定属性的位置,type指定属性的类型。通过这三个参数的组合,就可以确定任意一个构造器。

 

SPEL:Spring Expression Language:spring的表达式语言,语法:#{ }。

 

10、复杂属性赋值:

 

①数组:单值value;多值array标签+value

 

②List:单值value;多值list标签+value

 

③Set:单值value;多值set标签+value

 

④Map:键值对,map标签+entry,(key,value、key,value-ref、key-ref,value、key-ref,value-ref)

 

 

 

posted @ 2020-05-11 12:34  Wholala  阅读(114)  评论(0编辑  收藏  举报