用idea 创建一个spring小demo,基于xml文件配置
1、首先,File->new->project ,进入新增项目页面
或者在
2、勾选spring,然后点击下一步
3、修改项目名称和项目位置
进入页面后
5、创建一个spring配置文件
6、创建Person类
7、配置bean, <bean></bean>,name对应属性,value赋值
8、测试类,配置文件名和id不能错。
补充:
1、还有一种用构造器来配置的用法,这里会默认与实体类person中的构造方法一致,另外要注意使用构造器配置,实体类中需要有构造方法,否则配置文件报错
如果实体类中含有混淆的构造方法,这里需要再添加属性type。
2、关于bean之间的引用,新建一个House类,例如Person类引用了House类,Person类每次新增属性,都需要重写一次toString()方法和相应的getter和setter方法。
这时候配置有两种方式:
1建两个bean
2.在bean的内部建一个bean
关于value的赋值还可以这样写
如果String类型的值需要一些特殊符号如:<,这样就会报错,这时候需要< ! [CDATA[ 值 ] ]来进行处理
3、在配置文件里,配置list,set,array,map等,例如一个人有很多车,先建一个Car类,生成setter,getter,toString()方法,在Person类中引用。
然后配置文件里先写连个关于car的bean,再通过<list></list>进行引用,如果属性是Array或set型,换成相应的标签即可。
还有一种map类型的配置,同理还是一个人有很多车,创建属性,生成setter和getter方法,重写toString()方法
配置文件:这里使用entry标签,key对应着Map<Integer, Car>这里的类型,value_ref可以引用bean类
4、配置单例的集合,也就是公用的bean,这里首先需要引入命名空间,输入<util:list 然后 alt+enter,将命名空间导入进来,也就是这个xsi会导入后面util这两个,这时候就可以在bean中引用了,要想换成set\map型,换成相应的类型即可。
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
5、关于bean的作用域,有两种singleton(单例)和prototype(原型,也称为多例)
singleton:默认值,在容器初始化时生成bean实例
prototype:原型,容器初始化时不生成bean实例,在获取bea时生成
写一个无参构造方法验证一下:
配置文件:
输出结果:说明值创建了一个对象
把获取bean给注释掉,再输出结果,可以看到bean是在容器初始化时创建
再来看看prototype,
配置文件:scope属性,可以选择单例和原型
输出结果: