特别要注意一下,这个是通过配置的方式自动装配,这个方式需要被注入的属性需要有相应的setter或者构造器方法。如果是通过注解的方式的话,需要在属性变量的上面加上@XXXX,并且不用setter方法或者构造器方法。不要在这里把这种配置方式的自动装配和注解方式的自动装配弄混淆了
2015-09-20
自动装配,自动注入--AutoWiring,如果是配置了是byType方式注入的话,那么在配置文件中声明bean的时候,就不用再声明注入的属性变量和值了。但是需要在bean中把需要被注入值的属性写上相应的setter方法,并且这个要注入的值也已经在配置文件中声明了(其实是另外一个bean).这次注入是根据属性的类型来在IOC容器查找相同类型的bean实例来注入的。注意这个要被注入的值的名称是什么都没关系,因为那个属性的setter方法参数名已经没有注意了,因为这个是通过类型来判断注入的
2015-09-20
实现了BeanNameAware接口,会注入实现了这个接口的bean在IOC容器中的名字,也就是在配置文件中id的值
2015-09-20
启动容器,实例化ApplicationContext实例,然后加载配置文件,然后实例化配置文件中声明的bean。然后在实例bean的过程会先判断是否实现了这些Aware接口,如果实现了则会把相应的Aware资源注入。然后在相应的bean中就可以使用相应的Aware资源啦
2015-09-20
关于bean初始化和销毁同时使用的注意情况:
1,默认全局的初始化和销毁方法;
2,实现接口的初始化和销毁方法;
3,配置文件中配置初始化和销毁方法;
这三个方法同时使用时,1默认的则不执行,而23两种都会执行,并且是2实现接口的方式先于配置中3的执行。
1默认的全局初始化和销毁方法可以有可以没有,有没有对配置都没有太大影响,当然如果一个bean没有采取23初始化销毁方法,而有1默认的方法的话,这两个方法还是会执行的。即使没有,系统也不会报错。
1,默认全局的初始化和销毁方法;
2,实现接口的初始化和销毁方法;
3,配置文件中配置初始化和销毁方法;
这三个方法同时使用时,1默认的则不执行,而23两种都会执行,并且是2实现接口的方式先于配置中3的执行。
1默认的全局初始化和销毁方法可以有可以没有,有没有对配置都没有太大影响,当然如果一个bean没有采取23初始化销毁方法,而有1默认的方法的话,这两个方法还是会执行的。即使没有,系统也不会报错。
2015-09-20
关于bean初始化和销毁同时使用的注意情况:
1,默认全局的初始化和销毁方法;
2,实现接口的初始化和销毁方法;
3,配置文件中配置初始化和销毁方法;
这三个方法同时使用时,1默认的则不执行,而23两种都会执行,并且是2实现接口的方式先于配置中3的执行。
1,默认全局的初始化和销毁方法;
2,实现接口的初始化和销毁方法;
3,配置文件中配置初始化和销毁方法;
这三个方法同时使用时,1默认的则不执行,而23两种都会执行,并且是2实现接口的方式先于配置中3的执行。
2015-09-20