- 时间:2022-07-18 00:20 编辑: 来源: 阅读:274
- 扫一扫,手机访问
摘要:你真的需要好好看看这篇关于Spring如何创建对象以及Spring如何配置它们的笔记。太详细了。
{源码分享}
1.Spring 1.1中创建对象的方式。通过无参数构造创建user.java公共类用户{私有字符串名称};User () {system.out.println("用户无参数构造方法");} public void set name(String name){ this . name = name;} public void show(){ system . out . println(" name = "+name);} } beans.xml & lt?xml版本="1.0 "编码="UTF-8 "?& gt& ltbeans xmlns = " http://www . spring framework . org/schema/beans " xmlns:xsi = " http://www . w3 . org/2001/XML schema-instance " xsi:schema location = " http://www.springframework.org/schema/beans http://www . spring framework . org/schema/beans/spring-beans . xsd " & gt;& ltbean id = " user " class = " com . lkb . POJO . user " & gt;& ltproperty name = " name " value = " lkb "/& gt;& lt/bean & gt;& lt/beans & gt;test class @ testpublicviddest(){ application context = newclasspathmlaplicationcontext(" beans . XML ");//执行getBean时,已经创建了用户,无参数构造了用户user =(user)context . get bean(" user ");//调用对象的method . user . show();}结果可以发现,在调用show方法之前,User对象已经被无参数构造初始化了!2.2.它是由参数化构造创建的。1.Usert。Java公共类usert {私有字符串名称;public UserT(String name){ this . name = name;} public void set name(String name){ this . name = name;} public void show(){ system . out . println(" name = "+name);}}2.beans.xml可以用三种方式编写<?xml版本="1.0 "编码="UTF-8 "?& gt& ltbeans xmlns = " http://www . spring framework . org/schema/beans " xmlns:xsi = " http://www . w3 . org/2001/XML schema-instance " xsi:schema location = " http://www . spring framework . org/schema/beans http://www . spring framework . org/schema/beans/schema/beans/spring-beans . xsd " & gt;& lt!-第一个是根据指标参数下标设置的-->:& lt;bean id = " user t1 " class = " com . lkb . POJO . usert " & gt;& lt!- index是指构造方法,下标从0开始-->:& lt;constructor-arg index = " 0 " value = " lkb "/& gt;& lt/bean & gt;& lt!-第二个是根据参数名设置的->:& lt;bean id = " user T2 " class = " com . lkb . POJO . usert " & gt;& lt!- name是指参数名->;& ltconstructor-arg name = " name " value = " lkb "/& gt;& lt/bean & gt;& lt!-第三个是根据参数类型设置的(不推荐)->:& lt;bean id = " user T3 " class = " com . lkb . POJO . usert " & gt;& ltconstructor-arg type = " Java . lang . string " value = " lkb "/& gt;& lt/bean & gt;& lt/beans & gt;3.test @ test public void testt(){ application context = new classpathmlaplicationcontext(" beans . XML ");UserT user =(UserT)context . getbean(" UserT ");user . show();}结论:加载配置文件时 所有被管理的对象都已经初始化了!2.弹簧配置2.1。别名< bean id = " user t1 " class = " com . lkb . POJO . usert " >& ltconstructor-arg index = " 0 " value = " lkb "/& gt;& lt/bean & gt;& lt!- alias为bean创建别名-->:& lt;别名= " user t1 " alias = " u1 "/& gt;2.2.Bean配置<!- id:它是bean的标识符,应该是唯一的。如果没有已配置的id,name是默认的标识符。如果有配置的id和名称,则名称是别名。您可以设置多个别名,用逗号、分号和空格分隔。如果既没有配置id也没有配置name,那么可以根据applicationcontext.getbean(。类);-& gt;& ltbean id = " user T2 " class = " com . lkb . POJO . usert " name = " U2,ut2 " >& lt!- name是指参数名->;& ltconstructor-arg name = " name " value = " lkb "/& gt;& lt/bean & gt;Id:是Bean的标识符,应该是唯一的。如果没有已配置的id,name是默认的标识符。如果有配置的id和名称,则名称是别名。Name相当于alias,可以设置多个别名,用逗号、分号、空格分隔。如果既没有配置id也没有配置name,那么在读取bean对象时,可以根据applicationcontext.getbean(。类);2.3.importimport相当于合并配置文件。当我们有多个Spring配置文件时,可以通过导入来合并配置文件,合并后Bean可以互相调用。 & lt导入资源= " { path }/beans . XML "/& gt;最后,谢谢你看到这个。看完有什么不明白的,可以在评论区问我。如果你觉得文章对你有帮助,请给我点个赞。你每天都会参考java相关的技术文章或者行业信息。欢迎大家关注并转发文章!