{"id":286,"date":"2022-04-06T16:57:10","date_gmt":"2022-04-06T08:57:10","guid":{"rendered":"https:\/\/blog.lijiajia.top\/?p=286"},"modified":"2026-06-19T21:40:36","modified_gmt":"2026-06-19T13:40:36","slug":"spring%e6%a1%86%e6%9e%b6%e5%ad%a6%e4%b9%a0%ef%bc%9aioc%e6%93%8d%e4%bd%9cbean%e7%ae%a1%e7%90%86%e5%9b%9b","status":"publish","type":"post","link":"https:\/\/blog.ttwow.top\/?p=286","title":{"rendered":"Spring\u6846\u67b6\u5b66\u4e60\uff1aIOC\u64cd\u4f5cBean\u7ba1\u7406-\u5bf9\u8c61\u521b\u5efa\u548c\u5c5e\u6027\u8d4b\u503c(\u56db)"},"content":{"rendered":"<h2>IOC\u64cd\u4f5cBean\u7ba1\u7406\uff08\u6982\u5ff5\uff09<\/h2>\n<p>1\uff09\u3001\u4ec0\u4e48\u662fBean\u7ba1\u7406<br \/>\nBean\u7ba1\u7406\u6307\u7684\u662f\u4e24\u4e2a\u64cd\u4f5c<br \/>\n(1)Spring\u521b\u5efa\u5bf9\u8c61<br \/>\n(2)Spirng\u6ce8\u5165\u5c5e\u6027<\/p>\n<p>2\uff09\u3001Bean\u7ba1\u7406\u64cd\u4f5c\u6709\u4e24\u79cd\u65b9\u5f0f<br \/>\n(1)\u57fa\u4e8exml\u914d\u7f6e\u6587\u4ef6\u65b9\u5f0f\u5b9e\u73b0<br \/>\n(2)\u57fa\u4e8e\u6ce8\u89e3\u65b9\u5f0f\u5b9e\u73b0<\/p>\n<h2>IOC\u64cd\u4f5cBean\u7ba1\u7406\uff08\u57fa\u4e8exml\u65b9\u5f0f\uff09<\/h2>\n<h3>\u4e00\uff1a\u5bf9\u8c61\u521b\u5efa<\/h3>\n<pre><code class=\"language-java\">&lt;!--\u914d\u7f6eUser\u5bf9\u8c61\u521b\u5efa--&gt;\n    &lt;bean id=&quot;user&quot; class=&quot;com.spring5.User&quot;&gt;&lt;\/bean&gt;<\/code><\/pre>\n<p>(1)\u5728spring\u914d\u7f6e\u6587\u4ef6\u4e2d\uff0c\u4f7f\u7528bean\u6807\u7b7e\uff0c\u6807\u7b7e\u91cc\u9762\u6dfb\u52a0\u5bf9\u5e94\u5c5e\u6027\uff0c\u5c31\u53ef\u4ee5\u5b9e\u73b0\u5bf9\u8c61\u521b\u5efa<br \/>\n(2)\u5728bean\u6807\u7b7e\u6709\u5f88\u591a\u5c5e\u6027\uff0c\u4ecb\u7ecd\u5e38\u7528\u7684\u5c5e\u6027\uff1a<br \/>\n<em>id \u5c5e\u6027\uff1a\u552f\u4e00\u6807\u8bc6\uff0c\u522b\u540d<br \/>\n<\/em>class \u5c5e\u6027\uff1a\u7c7b\u5168\u8def\u5f84\uff08\u5305\u7c7b\u8def\u5f84\uff09<br \/>\n(3)\u521b\u5efa\u5bf9\u8c61\u65f6\u5019\uff0c\u9ed8\u8ba4\u4e5f\u662f\u6267\u884c<strong>\u65e0\u53c2\u6570\u6784\u9020<\/strong>\u65b9\u6cd5\u5b8c\u6210\u5bf9\u8c61\u521b\u5efa<\/p>\n<h3>\u4e8c\uff1a\u57fa\u4e8exml\u65b9\u5f0f\u6ce8\u5165\u5c5e\u6027<\/h3>\n<p>DI\uff08Dependency Injection\uff09:\u4f9d\u8d56\u6ce8\u5165\uff0c\u5c31\u662f\u6ce8\u5165\u5c5e\u6027<\/p>\n<p>spring\u4e24\u79cd\u6ce8\u5165\u65b9\u5f0f\uff1a<\/p>\n<h4>1.\u7b2c\u4e00\u79cd\u65b9\u5f0f\uff0cset\u65b9\u6cd5\u8fdb\u884c\u6ce8\u5165<\/h4>\n<pre><code class=\"language-java\">public class Book {\n    \/\/\u521b\u5efa\u5c5e\u6027\n    private String bname;\n    private String bauthor;\n\n    \/\/\u521b\u5efa\u5c5e\u6027\u5bf9\u5e94\u7684set\u65b9\u6cd5\u6ce8\u5165\n    public void setBname(String bname) {\n        this.bname = bname;\n    }\n\n    public void setBauthor(String bauthor) {\n        this.bauthor = bauthor;\n    }\n    @Override\n    public String toString() {\n        return &quot;Book{&quot; +\n                &quot;bname=&#039;&quot; + bname + &#039;\\&#039;&#039; +\n                &quot;, bauthor=&#039;&quot; + bauthor + &#039;\\&#039;&#039; +\n                &#039;}&#039;;\n    }\n}<\/code><\/pre>\n<pre><code class=\"language-xml\">&lt;!--set\u65b9\u6cd5\u6ce8\u5165\u5c5e\u6027--&gt;\n    &lt;bean id=&quot;book&quot; class=&quot;com.spring5.Book&quot;&gt;\n        &lt;!--\u4f7f\u7528property\u5b8c\u6210\u5c5e\u6027\u6ce8\u5165\n            name\uff1a \u7c7b\u91cc\u9762\u5c5e\u6027\u540d\u79f0\n            value\uff1a \u5411\u5c5e\u6027\u6ce8\u5165\u7684\u503c--&gt;\n        &lt;property name=&quot;bname&quot; value=&quot;\u65f6\u95f4\u7b80\u53f2&quot;&gt;&lt;\/property&gt;\n        &lt;property name=&quot;bauthor&quot; value=&quot;\u970d\u91d1&quot;&gt;&lt;\/property&gt;\n    &lt;\/bean&gt;<\/code><\/pre>\n<p>junit\u6d4b\u8bd5\uff1a<\/p>\n<pre><code class=\"language-java\">@Test\n    public void testSetMethod(){\n        ApplicationContext ac = new ClassPathXmlApplicationContext(&quot;bean1.xml&quot;);\n        Book book = ac.getBean(&quot;book&quot;, Book.class);\n        System.out.println(book.toString());\n    }<\/code><\/pre>\n<p>\u6d4b\u8bd5\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-java\">Book{bname=&#039;\u65f6\u95f4\u7b80\u53f2&#039;, bauthor=&#039;\u970d\u91d1&#039;}<\/code><\/pre>\n<h4>2.\u7b2c\u4e8c\u79cd\u65b9\u5f0f\uff0c\u6709\u53c2\u6570\u6784\u9020\u8fdb\u884c\u6ce8\u5165<\/h4>\n<pre><code class=\"language-java\">public class Orders {\n    \/\/\u5c5e\u6027\n    private String oname;\n    private String address;\n    \/\/\u6709\u53c2\u6784\u9020\n    public Orders(String oname, String address) {\n        this.oname = oname;\n        this.address = address;\n    }\n\n    @Override\n    public String toString() {\n        return &quot;Orders{&quot; +\n                &quot;oname=&#039;&quot; + oname + &#039;\\&#039;&#039; +\n                &quot;, address=&#039;&quot; + address + &#039;\\&#039;&#039; +\n                &#039;}&#039;;\n    }\n}<\/code><\/pre>\n<pre><code class=\"language-xml\">&lt;!--\u6709\u53c2\u6784\u9020\u6ce8\u5165\u5c5e\u6027--&gt;\n    &lt;bean id=&quot;orders&quot; class=&quot;com.spring5.Orders&quot;&gt;\n        &lt;constructor-arg name=&quot;oname&quot; value=&quot;\u624b\u673a&quot;&gt;&lt;\/constructor-arg&gt;\n        &lt;constructor-arg name=&quot;address&quot; value=&quot;\u4e2d\u56fd&quot;&gt;&lt;\/constructor-arg&gt;\n        &lt;!--\u8fd8\u53ef\u4ee5\u901a\u8fc7index \u987a\u5e8f\u8bbe\u7f6e\u503c--&gt;\n        &lt;!--&lt;constructor-arg index=&quot;0&quot; value=&quot;&quot;&gt;&lt;\/constructor-arg&gt;--&gt;\n    &lt;\/bean&gt;<\/code><\/pre>\n<p>junit\u6d4b\u8bd5\uff1a<\/p>\n<pre><code class=\"language-java\">@Test\n    public void testConstructor(){\n        ApplicationContext applicationContext = new ClassPathXmlApplicationContext(&quot;bean1.xml&quot;);\n        Orders orders = applicationContext.getBean(&quot;orders&quot;, Orders.class);\n        System.out.println(orders);\n    }<\/code><\/pre>\n<p>\u6d4b\u8bd5\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-java\">Orders{oname=&#039;\u624b\u673a&#039;, address=&#039;\u4e2d\u56fd&#039;}<\/code><\/pre>\n<h4>3.set\u65b9\u6cd5\u53e6\u4e00\u79cd\u6ce8\u5165\u65b9\u5f0f\uff0cp\u540d\u79f0\u7a7a\u95f4\u6ce8\u5165<\/h4>\n<p>\u6dfb\u52a0p\u540d\u79f0\u7a7a\u95f4<\/p>\n<pre><code class=\"language-xml\">&lt;beans xmlns=&quot;http:\/\/www.springframework.org\/schema\/beans&quot;\n       xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot;\n       xmlns:p=&quot;http:\/\/www.springframework.org\/schema\/p&quot;\n       xsi:schemaLocation=&quot;http:\/\/www.springframework.org\/schema\/beans http:\/\/www.springframework.org\/schema\/beans\/spring-beans.xsd&quot;&gt;<\/code><\/pre>\n<p>\u5c5e\u6027\u6ce8\u5165<\/p>\n<pre><code class=\"language-xml\">&lt;!--p\u540d\u79f0\u7a7a\u95f4\u6ce8\u5165-\u5e95\u5c42\u8fd8\u662fset\u6ce8\u5165--&gt;\n    &lt;bean id=&quot;book&quot; class=&quot;com.spring5.Book&quot; p:bname=&quot;\u767e\u5e74\u5b64\u72ec&quot; p:bauthor=&quot;\u52a0\u897f\u4e9a&quot;&gt;\n    &lt;\/bean&gt;<\/code><\/pre>\n<h4>\u5b57\u9762\u91cf<\/h4>\n<p>\uff081\uff09null\u503c<\/p>\n<pre><code class=\"language-java\">&lt;!--null\u503c--&gt;\n        &lt;property name=&quot;address&quot;&gt;\n            &lt;null\/&gt;\n        &lt;\/property&gt;<\/code><\/pre>\n<p>\uff082)\u5c5e\u6027\u5305\u542b\u7279\u6b8a\u7b26\u53f7<\/p>\n<pre><code class=\"language-java\">&lt;!--\u5c5e\u6027\u503c\u5305\u542b\u7279\u8272\u7b26\u53f7\n            1.\u8f6c\u4e49 &lt; &gt;\n            2.CDATA--&gt;\n        &lt;property name=&quot;address&quot;&gt;\n            &lt;value&gt;\n                &lt;![CDATA[&lt;&lt;\u4e0a\u6d77&gt;&gt;]]&gt;\n            &lt;\/value&gt;\n        &lt;\/property&gt;<\/code><\/pre>\n<h4>\u6ce8\u5165\u5c5e\u6027-\u5916\u90e8bean<\/h4>\n<p>(1)\u521b\u5efa\u4e24\u4e2a\u7c7bservice\u7c7b\u548cdao\u7c7b<br \/>\n(2)\u5728service\u8c03\u7528dao\u91cc\u9762\u7684\u65b9\u6cd5<\/p>\n<pre><code class=\"language-java\">public class UserService {\n\n\/\/    \u521b\u5efaUserDao\u7c7b\u578b\u5c5e\u6027 \u751f\u6210set\u65b9\u6cd5\n    private UserDao userDao;\n\n    public void setUserDao(UserDao userDao) {\n        this.userDao = userDao;\n    }\n\n    public void add(){\n        System.out.println(&quot;service add .....&quot;);\n        userDao.update();\n        \/\/\u539f\u59cb\u65b9\u5f0f\n\/\/        UserDao userDao = new UserDaoImpl();\n\/\/        userDao.update();\n    }\n}<\/code><\/pre>\n<pre><code class=\"language-java\">public interface UserDao {\n    public void update();\n}<\/code><\/pre>\n<pre><code class=\"language-java\">public class UserDaoImpl implements UserDao {\n\n    @Override\n    public void update() {\n        System.out.println(&quot;dao update.......&quot;);\n    }\n}<\/code><\/pre>\n<p>(3)\u5728spring\u914d\u7f6e\u6587\u4ef6\u4e2d\u8fdb\u884c\u914d\u7f6e<\/p>\n<pre><code class=\"language-xml\">&lt;!--1. service\u548cdao\u5bf9\u8c61\u521b\u5efa--&gt;\n    &lt;bean id=&quot;userService&quot; class=&quot;com.spring5.service.UserService&quot;&gt;\n        &lt;!--\u6ce8\u5165userDao\u5bf9\u8c61\n            name\u5c5e\u6027\uff1a\u7c7b\u91cc\u9762\u5c5e\u6027\u540d\u79f0\n            ref\u5c5e\u6027\uff1a\u521b\u5efauserDao\u5bf9\u8c61bean\u6807\u7b7eid\u503c--&gt;\n        &lt;property name=&quot;userDao&quot; ref=&quot;userDao&quot;&gt;&lt;\/property&gt;\n    &lt;\/bean&gt;\n\n    &lt;!--userDao \u662f\u63a5\u53e3\uff0cclass \u627e\u5b83\u7684\u5b9e\u73b0\u7c7b--&gt;\n    &lt;bean id=&quot;userDao&quot; class=&quot;com.spring5.dao.UserDaoImpl&quot;&gt;&lt;\/bean&gt;<\/code><\/pre>\n<h4>\u6ce8\u5165\u5c5e\u6027-\u5185\u90e8bean<\/h4>\n<p>(1)\u4e00\u5bf9\u591a\u5173\u7cfb\uff1a\u90e8\u95e8\u548c\u5458\u5de5<br \/>\n\u4e00\u4e2a\u90e8\u95e8\u6709\u591a\u4e2a\u5458\u5de5\uff0c\u4e00\u4e2a\u5458\u5de5\u5c5e\u4e8e\u4e00\u4e2a\u90e8\u95e8<br \/>\n\u90e8\u95e8\u662f\u4e00\uff0c\u5458\u5de5\u662f\u591a<br \/>\n(2)\u5728\u5b9e\u4f53\u7c7b\u4e4b\u95f4\u8868\u793a\u4e00\u5bf9\u591a\u5173\u7cfb\uff0c\u5458\u5de5\u8868\u793a\u6240\u5c5e\u90e8\u95e8\uff0c\u4f7f\u7528\u5bf9\u8c61\u7c7b\u578b\u5c5e\u6027\u8fdb\u884c\u8868\u793a<\/p>\n<pre><code class=\"language-java\">\/\/\u90e8\u95e8\u7c7b\npublic class Dept {\n\n    private String dname;\n\n    public void setDname(String dname) {\n        this.dname = dname;\n    }\n\n    @Override\n    public String toString() {\n        return &quot;Dept{&quot; +\n                &quot;dname=&#039;&quot; + dname + &#039;\\&#039;&#039; +\n                &#039;}&#039;;\n    }\n}<\/code><\/pre>\n<pre><code class=\"language-java\">\/\/\u5458\u5de5\u7c7b\npublic class Emp {\n\n    private String ename;\n    private String gender;\n\n    \/\/\u5458\u5de5\u5c5e\u4e8e\u67d0\u4e00\u4e2a\u90e8\u95e8\n    private Dept dept;\n\n    public void setDept(Dept dept) {\n        this.dept = dept;\n    }\n\n    public void setEname(String ename) {\n        this.ename = ename;\n    }\n\n    public void setGender(String gender) {\n        this.gender = gender;\n    }\n\n    @Override\n    public String toString() {\n        return &quot;Emp{&quot; +\n                &quot;ename=&#039;&quot; + ename + &#039;\\&#039;&#039; +\n                &quot;, gender=&#039;&quot; + gender + &#039;\\&#039;&#039; +\n                &quot;, dept=&quot; + dept +\n                &#039;}&#039;;\n    }\n}<\/code><\/pre>\n<p>(3)spring\u914d\u7f6e\u6587\u4ef6<\/p>\n<pre><code class=\"language-xml\">&lt;!--\u5185\u90e8bean--&gt;\n    &lt;bean id=&quot;emp&quot; class=&quot;com.spring5.bean.Emp&quot;&gt;\n        &lt;!--\u666e\u901a\u5c5e\u6027--&gt;\n        &lt;property name=&quot;ename&quot; value=&quot;Tom&quot;&gt;&lt;\/property&gt;\n        &lt;property name=&quot;gender&quot; value=&quot;\u7537&quot;&gt;&lt;\/property&gt;\n        &lt;!--\u8bbe\u7f6e\u5bf9\u8c61\u7c7b\u578b\u5c5e\u6027--&gt;\n        &lt;property name=&quot;dept&quot;&gt;\n            &lt;bean id=&quot;dept&quot; class=&quot;com.spring5.bean.Dept&quot;&gt;\n                &lt;property name=&quot;dname&quot; value=&quot;\u5ba2\u670d\u90e8&quot;&gt;&lt;\/property&gt;\n            &lt;\/bean&gt;\n        &lt;\/property&gt;\n    &lt;\/bean&gt;<\/code><\/pre>\n<p>(4)junit\u6d4b\u8bd5<\/p>\n<pre><code class=\"language-java\">@Test\n    public void test2(){\n        ApplicationContext applicationContext = new ClassPathXmlApplicationContext(&quot;bean3.xml&quot;);\n        Emp emp = applicationContext.getBean(&quot;emp&quot;, Emp.class);\n        System.out.println(emp.toString());\n    }<\/code><\/pre>\n<p>\u6d4b\u8bd5\u7ed3\u679c<\/p>\n<pre><code class=\"language-java\">Emp{ename=&#039;Tom&#039;, gender=&#039;\u7537&#039;, dept=Dept{dname=&#039;\u5ba2\u670d\u90e8&#039;}}<\/code><\/pre>\n<h4>\u6ce8\u5165\u5c5e\u6027-\u7ea7\u8054\u8d4b\u503c<\/h4>\n<p>\u7b2c\u4e00\u79cd\u65b9\u5f0f\uff1a<\/p>\n<pre><code class=\"language-xml\">&lt;!--\u7ea7\u8054\u8d4b\u503c--&gt;\n    &lt;bean id=&quot;emp&quot; class=&quot;com.spring5.bean.Emp&quot;&gt;\n        &lt;!--\u666e\u901a\u5c5e\u6027--&gt;\n        &lt;property name=&quot;ename&quot; value=&quot;Tom&quot;&gt;&lt;\/property&gt;\n        &lt;property name=&quot;gender&quot; value=&quot;\u7537&quot;&gt;&lt;\/property&gt;\n        &lt;!--\u8bbe\u7f6e\u5bf9\u8c61\u7c7b\u578b\u5c5e\u6027--&gt;\n        &lt;property name=&quot;dept&quot; ref=&quot;dept&quot;&gt;&lt;\/property&gt;\n    &lt;\/bean&gt;\n\n    &lt;bean id=&quot;dept&quot; class=&quot;com.spring5.bean.Dept&quot;&gt;\n        &lt;property name=&quot;dname&quot; value=&quot;\u5ba2\u670d\u90e8&quot;&gt;&lt;\/property&gt;\n    &lt;\/bean&gt;<\/code><\/pre>\n<p>\u7b2c\u4e8c\u79cd\u65b9\u5f0f<\/p>\n<pre><code class=\"language-java\">  \/\/\u5458\u5de5\u5c5e\u4e8e\u67d0\u4e00\u4e2a\u90e8\u95e8\n    private Dept dept;\n    \/\/\u7ea7\u8054\u8d4b\u503c\u9700\u8981get\u65b9\u6cd5\n    public Dept getDept() {\n        return dept;\n    }<\/code><\/pre>\n<pre><code class=\"language-xml\">    &lt;!--\u7ea7\u8054\u8d4b\u503c--&gt;\n    &lt;bean id=&quot;emp&quot; class=&quot;com.spring5.bean.Emp&quot;&gt;\n        &lt;!--\u666e\u901a\u5c5e\u6027--&gt;\n        &lt;property name=&quot;ename&quot; value=&quot;Tom&quot;&gt;&lt;\/property&gt;\n        &lt;property name=&quot;gender&quot; value=&quot;\u7537&quot;&gt;&lt;\/property&gt;\n        &lt;!--\u8bbe\u7f6e\u5bf9\u8c61\u7c7b\u578b\u5c5e\u6027--&gt;\n        &lt;property name=&quot;dept&quot; ref=&quot;dept&quot;&gt;&lt;\/property&gt;\n        &lt;property name=&quot;dept.dname&quot; value=&quot;\u6280\u672f\u90e8&quot;&gt;&lt;\/property&gt;\n    &lt;\/bean&gt;\n\n    &lt;bean id=&quot;dept&quot; class=&quot;com.spring5.bean.Dept&quot;&gt;\n&lt;!--        &lt;property name=&quot;dname&quot; value=&quot;\u5ba2\u670d\u90e8&quot;&gt;&lt;\/property&gt;--&gt;\n    &lt;\/bean&gt;<\/code><\/pre>\n<h4>xml\u6ce8\u5165\u96c6\u5408\u5c5e\u6027<\/h4>\n<p>\uff081\uff09\u6ce8\u5165\u6570\u7ec4\u7c7b\u578b\u5c5e\u6027<br \/>\n\uff082\uff09\u6ce8\u5165List\u96c6\u5408\u7c7b\u578b\u5c5e\u6027<br \/>\n\uff083\uff09\u6ce8\u5165Map\u96c6\u5408\u7c7b\u578b\u5c5e\u6027<\/p>\n<pre><code class=\"language-java\">public class Stu {\n\n    \/\/1 \u6570\u7ec4\u7c7b\u578b\u5c5e\u6027\n    private String[] courses;\n\n    \/\/2 list\u96c6\u5408\u7c7b\u578b\u5c5e\u6027\n    private List&lt;String&gt; list;\n\n    \/\/ 3 Map\u7c7b\u578b\u5c5e\u6027\n    private Map&lt;String,String&gt; map;\n\n    \/\/3 Set \u7c7b\u578b\u5c5e\u6027\n    private Set&lt;String&gt; sets;\n\n    public void setCourses(String[] courses) {\n        this.courses = courses;\n    }\n\n    public void setList(List&lt;String&gt; list) {\n        this.list = list;\n    }\n\n    public void setMap(Map&lt;String, String&gt; map) {\n        this.map = map;\n    }\n\n    public void setSets(Set&lt;String&gt; sets) {\n        this.sets = sets;\n    }\n\n    @Override\n    public String toString() {\n        return &quot;Stu{&quot; +\n                &quot;courses=&quot; + Arrays.toString(courses) +\n                &quot;, list=&quot; + list +\n                &quot;, map=&quot; + map +\n                &quot;, sets=&quot; + sets +\n                &#039;}&#039;;\n    }\n}<\/code><\/pre>\n<pre><code class=\"language-xml\">    &lt;!--\u96c6\u5408\u7c7b\u578b\u5c5e\u6027\u6ce8\u5165--&gt;\n    &lt;bean id=&quot;stu&quot; class=&quot;com.spring5.collectiontype.Stu&quot;&gt;\n        &lt;!--\u6570\u7ec4\u7c7b\u578b\u5c5e\u6027\u6ce8\u5165--&gt;\n        &lt;property name=&quot;courses&quot; &gt;\n            &lt;!--\u53ef\u4ee5\u4f7f\u7528list\u6216\u8005array\u6807\u7b7e--&gt;\n           &lt;!-- &lt;list&gt;&lt;\/list&gt;--&gt;\n            &lt;array&gt;\n                &lt;value&gt;\u6570\u5b66&lt;\/value&gt;\n                &lt;value&gt;\u5e94\u7528&lt;\/value&gt;\n            &lt;\/array&gt;\n        &lt;\/property&gt;\n\n        &lt;!--list\u7c7b\u578b\u5c5e\u6027\u6ce8\u5165--&gt;\n        &lt;property name=&quot;list&quot;&gt;\n            &lt;list&gt;\n                &lt;value&gt;\u5f20\u4e09&lt;\/value&gt;\n                &lt;value&gt;\u674e\u56db&lt;\/value&gt;\n            &lt;\/list&gt;\n        &lt;\/property&gt;\n\n        &lt;!--map\u7c7b\u578b\u5c5e\u6027\u6ce8\u5165--&gt;\n        &lt;property name=&quot;map&quot;&gt;\n            &lt;map&gt;\n                &lt;entry key=&quot;JAVA&quot; value=&quot;java&quot;&gt;&lt;\/entry&gt;\n                &lt;entry key=&quot;PHP&quot; value=&quot;php&quot;&gt;&lt;\/entry&gt;\n            &lt;\/map&gt;\n        &lt;\/property&gt;\n\n        &lt;!--set\u7c7b\u578b\u5c5e\u6027\u6ce8\u5165--&gt;\n        &lt;property name=&quot;sets&quot;&gt;\n            &lt;set&gt;\n                &lt;value&gt;MySQL&lt;\/value&gt;\n                &lt;value&gt;Redis&lt;\/value&gt;\n            &lt;\/set&gt;\n        &lt;\/property&gt;\n    &lt;\/bean&gt;<\/code><\/pre>\n<p>junit\u6d4b\u8bd5<\/p>\n<pre><code class=\"language-java\">@Test\n    public void testCollection(){\n\n        ApplicationContext applicationContext = new ClassPathXmlApplicationContext(&quot;bean1.xml&quot;);\n        Stu stu = applicationContext.getBean(&quot;stu&quot;, Stu.class);\n\n        System.out.println(stu.toString());\n    }<\/code><\/pre>\n<p>\u6d4b\u8bd5\u7ed3\u679c<\/p>\n<pre><code class=\"language-java\">Stu{courses=[\u6570\u5b66, \u5e94\u7528], list=[\u5f20\u4e09, \u674e\u56db], map={JAVA=java, PHP=php}, sets=[MySQL, Redis]}<\/code><\/pre>\n<h4>\u7ec6\u8282\u4e00\uff1a\u5728\u96c6\u5408\u91cc\u9762\u8bbe\u7f6e\u5bf9\u8c61\u5c5e\u6027\u503c<\/h4>\n<pre><code class=\"language-java\">\/\/\u8bfe\u7a0b\u7c7b\npublic class Course {\n\n    private String cname;\n\n    public void setCname(String cname) {\n        this.cname = cname;\n    }\n\n    @Override\n    public String toString() {\n        return &quot;Course{&quot; +\n                &quot;cname=&#039;&quot; + cname + &#039;\\&#039;&#039; +\n                &#039;}&#039;;\n    }\n}<\/code><\/pre>\n<p>Stu\u7c7b\u6dfb\u52a0\uff1a<\/p>\n<pre><code class=\"language-java\">\/\/\u5b66\u751f\u6240\u5b66\u591a\u95e8\u8bfe\u7a0b\n   private List&lt;Course&gt; courseList;\n    public void setCourseList(List&lt;Course&gt; courseList) {\n        this.courseList = courseList;\n    }<\/code><\/pre>\n<p>\u8981\u6ce8\u5165\u7684\u5bf9\u8c61<\/p>\n<pre><code class=\"language-xml\">&lt;bean id=&quot;course1&quot; class=&quot;com.spring5.collectiontype.Course&quot;&gt;\n        &lt;property name=&quot;cname&quot; value=&quot;\u6570\u5b66&quot;&gt;&lt;\/property&gt;\n    &lt;\/bean&gt;\n    &lt;bean id=&quot;course2&quot; class=&quot;com.spring5.collectiontype.Course&quot;&gt;\n        &lt;property name=&quot;cname&quot; value=&quot;\u7f8e\u672f&quot;&gt;&lt;\/property&gt;\n    &lt;\/bean&gt;<\/code><\/pre>\n<p>\u5bf9\u8c61\u5c5e\u6027\u6ce8\u5165<\/p>\n<pre><code class=\"language-xml\">&lt;!--\u6ce8\u5165list\u7c7b\u578b \u503c\u662f\u5bf9\u8c61--&gt;\n        &lt;property name=&quot;courseList&quot;&gt;\n            &lt;list&gt;\n                &lt;ref bean=&quot;course1&quot;&gt;&lt;\/ref&gt;\n                &lt;ref bean=&quot;course2&quot;&gt;&lt;\/ref&gt;\n            &lt;\/list&gt;\n        &lt;\/property&gt;<\/code><\/pre>\n<h4>\u7ec6\u8282\u4e8c\uff1a\u628a\u96c6\u5408\u6ce8\u5165\u516c\u5171\u90e8\u5206\u63d0\u53d6\u51fa\u6765<\/h4>\n<p>Book\u7c7b\uff1a<\/p>\n<pre><code class=\"language-java\">public class Book {\n\n    private List&lt;String&gt; list;\n\n    public void setList(List&lt;String&gt; list) {\n        this.list = list;\n    }\n\n    @Override\n    public String toString() {\n        return &quot;Book{&quot; +\n                &quot;list=&quot; + list +\n                &#039;}&#039;;\n    }\n}<\/code><\/pre>\n<p>\u6dfb\u52a0util\u540d\u79f0\u7a7a\u95f4\uff1a<\/p>\n<pre><code class=\"language-xml\">&lt;beans xmlns=&quot;http:\/\/www.springframework.org\/schema\/beans&quot;\n       xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot;\n       xmlns:p=&quot;http:\/\/www.springframework.org\/schema\/p&quot;\n       xmlns:util=&quot;http:\/\/www.springframework.org\/schema\/util&quot;\n       xsi:schemaLocation=&quot;http:\/\/www.springframework.org\/schema\/beans http:\/\/www.springframework.org\/schema\/beans\/spring-beans.xsd\n                           http:\/\/www.springframework.org\/schema\/util http:\/\/www.springframework.org\/schema\/util\/spring-util.xsd&quot;&gt;\n<\/code><\/pre>\n<p>\u8bbe\u7f6e\u516c\u5171\u90e8\u5206\u5c5e\u6027\u503c\uff1a<\/p>\n<pre><code class=\"language-xml\">&lt;!--1. \u63d0\u53d6list\u96c6\u5408\u7c7b\u578b\u5c5e\u6027--&gt;\n    &lt;util:list id=&quot;bookList&quot;&gt;\n        &lt;!--\u5bf9\u8c61--&gt;\n        &lt;!-- &lt;ref&gt;&lt;\/ref&gt;--&gt;\n        &lt;value&gt;\u8bed\u6587\u4e66&lt;\/value&gt;\n        &lt;value&gt;\u6570\u5b66\u4e66&lt;\/value&gt;\n        &lt;value&gt;\u82f1\u8bed\u4e66&lt;\/value&gt;\n    &lt;\/util:list&gt;\n\n    &lt;!--2.\u63d0\u53d6\u7684\u516c\u5171\u90e8\u5206 \u6ce8\u5165\u4f7f\u7528--&gt;\n    &lt;bean id=&quot;book&quot; class=&quot;com.spring5.collectiontype.Book&quot;&gt;\n        &lt;property name=&quot;list&quot; ref=&quot;bookList&quot;&gt;&lt;\/property&gt;\n    &lt;\/bean&gt;<\/code><\/pre>\n<p>junit\u6d4b\u8bd5\uff1a<\/p>\n<pre><code class=\"language-java\"> @Test\n    public void testCollection2(){\n\n        ApplicationContext applicationContext = new ClassPathXmlApplicationContext(&quot;bean2.xml&quot;);\n        Book book = applicationContext.getBean(&quot;book&quot;, Book.class);\n\n        System.out.println(book.toString());\n    }<\/code><\/pre>\n<p>\u6d4b\u8bd5\u7ed3\u679c\uff1a<\/p>\n<pre><code class=\"language-java\">Book{list=[\u8bed\u6587\u4e66, \u6570\u5b66\u4e66, \u82f1\u8bed\u4e66]}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>IOC\u64cd\u4f5cBean\u7ba1\u7406\uff08\u6982\u5ff5\uff09 1\uff09\u3001\u4ec0\u4e48\u662fBean\u7ba1\u7406 Bean\u7ba1\u7406\u6307\u7684\u662f\u4e24\u4e2a\u64cd\u4f5c (1)Spring\u521b\u5efa\u5bf9 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[125],"tags":[68],"class_list":["post-286","post","type-post","status-publish","format-standard","hentry","category-java-backend","tag-spring"],"_links":{"self":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts\/286","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=286"}],"version-history":[{"count":1,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts\/286\/revisions"}],"predecessor-version":[{"id":2162,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts\/286\/revisions\/2162"}],"wp:attachment":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=286"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}