spring被分成多个文件分别配置。如果在servlet-name中没有指定init-param属性,那么系统自动查找的spring配置文件是[servlet-name]-servlet.xml..
当需要加载多个spring相关的配置文件时,首先加载contextloaderlistener类,然后在context-param中指定多个spring配置文件,并用逗号分隔每个文件。为了使用方便,配置文件可以采用mvc风格进行分解。配置控制器bean的配置文件放在xml文件中,服务器bean放在servic
it它只是一个有名字的物体。例如,applicationcont
springboot是pivotalt
当加载tomcat容器时,所有单例b
第一步功能
bean标签用于配置spring要创建的对象。
默认情况下,它调用类中的无参数构造函数。如果没有无参数构造函数,就无法成功创建。
2.属性
id:为容器中的对象提供唯一的标识符,用于获取对象。
class:指定类的完全限定类名,用于通过反射创建对象。默认情况下,调用无参数构造函数。
范围:指定对象的范围。
第二,bean标签的属性
bean标记中的scope属性用于描述bean的范围。这些值如下所示:
singleton:默认值,singleton。表示springioc容器中只有一个bean实例。
原型:多实例。每次从spring容器中获取它,都会返回一个新的实例。
关于quest:在web项目中,spring创建了一个bean的对象,并将该对象存储在请求域中。
会话:在web项目中,spring创建一个bean的对象,并将该对象存储在会话域中。
全局会话:在web项目中,作用于集群环境(porlet)的会话范围(全局会话范围)。如果没有集群环境(portlet),那么globalsession就相当于session。
init-method:指定类中初始化方法的名称。
destroy-method:指定类中销毁方法名称。
第三,bean标记的范围属性
范围属性测试描述
singletont对象只创建一次,它是在创建容器时创建的。
prototypet每次被调用时都会创建一个新对象,它是在对象被调用时创建的。
每次发出http请求时,requestt都会创建一个实例。
sessiont为每个htpp会话创建一个实例。
1.测试范围“单例"
singleton:默认值,singleton。表示springioc容器中只有一个b:xsi##34
txsi:schemalocation##34gt
tltbeanid#34p#34class##34cgtlt/b:
*tt测试bean标签的范围属性。
*@guoqianliang1998。
*/
公开课演示{
tpublicvoidtestscope(){
ttapplicationcontextac新的classpathxmlapplicationcontext(#34applicationcont:xsi##34
txsi:schemalocation##34gt
tltbeanid#34p#34class##34scop:
*tt测试bean标签的范围属性。
*@guoqianliang1998。
*/
公开课演示{
tpublicvoidtestscope(){
ttapplicationcontextac新的classpathxmlapplicationcontext(#34applicationcontext.xml#34)
ttpersonp1(人员)(#34p#34)
ttpersonp2(人)(#34p#34)
ttpersonp3(人)(#34p#34)
(p1)
(第二页)
(p3)
第四,scop:
*tt实体类人
*@guoqianliang1998。
*/
公共类人员{
t私有字符串名称
t//如果添加或删除列表,可能会导致线程安全问题。
tpubliclistltstringgt列出新的arraylistltstringgt()
t//无参数结构
tppublicperson(){
t}
t//参数结构
t公共人员(字符串名称){
名字
t}
tpublicvoidtalk(){
(#34谈话法...#34)
t}
}