{"id":516,"date":"2021-09-22T13:05:08","date_gmt":"2021-09-22T05:05:08","guid":{"rendered":"https:\/\/explause.com\/?p=516"},"modified":"2021-09-22T13:05:08","modified_gmt":"2021-09-22T05:05:08","slug":"ioc%e5%ae%b9%e5%99%a8%e6%80%bb%e8%a7%88","status":"publish","type":"post","link":"https:\/\/devdoge.org\/?p=516","title":{"rendered":"IoC\u5bb9\u5668\u603b\u89c8"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>org.springframework.context.ApplicationContext<\/strong>\u63a5\u53e3\u4ee3\u8868IoC\u5bb9\u5668\uff0c\u8d1f\u8d23\u5b9e\u4f8b\u5316\u3001\u7ec4\u88c5\u548c\u8bbe\u7f6ebean\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5355\u72ec\u7684\u5e94\u7528\u5e38\u5e38\u521b\u5efa<strong>ClassPathXmlApplicationContext<\/strong>\u6216<strong>FileSystemXmlApplicationContext<\/strong>\u5b9e\u4f8b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5bb9\u5668\u901a\u8fc7\u8bfb\u53d6\u914d\u7f6e\u5143\u6570\u636e\u83b7\u5f97\u6307\u4ee4\u6765\u5b9e\u4f8b\u5316\u3001\u7ec4\u88c5\u548c\u8bbe\u7f6e\u5bf9\u8c61\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u914d\u7f6e<strong>\u5143\u6570\u636e<\/strong>\uff08metadata\uff09\u901a\u8fc7xml\u6587\u4ef6\u3001Java\u6ce8\u89e3\u6216Java\u4ee3\u7801\u8868\u793a\u3002<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"498\" height=\"296\" src=\"https:\/\/explause.com\/wp-content\/uploads\/2021\/08\/container-magic.png\" alt=\"\" class=\"wp-image-406\" srcset=\"https:\/\/devdoge.org\/wp-content\/uploads\/2021\/08\/container-magic.png 498w, https:\/\/devdoge.org\/wp-content\/uploads\/2021\/08\/container-magic-300x178.png 300w\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" \/><figcaption>Spring IoC\u5bb9\u5668<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u73b0\u5728\u591a\u7528Java\u4ee3\u7801\u6765\u914d\u7f6e\u5143\u6570\u636e\u3002<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong><em>xml\u914d\u7f6e\u5143\u6570\u636e\u6587\u4ef6\uff1a<\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u9876\u5c42\u7684&lt;beans\/&gt;\u5143\u7d20\u91cc\u9762\u6dfb\u52a0&lt;bean\/&gt;\u5143\u7d20\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n&lt;beans xmlns=\"http:\/\/www.springframework.org\/schema\/beans\"\n    xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\n    xsi:schemaLocation=\"http:\/\/www.springframework.org\/schema\/beans\n        https:\/\/www.springframework.org\/schema\/beans\/spring-beans.xsd\"&gt;\n\n    &lt;bean id=\"...\" class=\"...\"&gt;  \n        &lt;!-- \u5728\u8fd9\u91cc\u4fee\u9970\u6216\u8005\u8bbe\u7f6ebean --&gt;\n    &lt;\/bean&gt;\n\n    &lt;bean id=\"...\" class=\"...\"&gt;\n        &lt;!-- \u5728\u8fd9\u91cc\u4fee\u9970\u6216\u8005\u8bbe\u7f6ebean --&gt;\n    &lt;\/bean&gt;\n\n    &lt;!-- \u5728\u8fd9\u91cc\u6dfb\u52a0\u66f4\u591abean\u5b9a\u4e49 --&gt;\n\n&lt;\/beans&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0a\u9762\u7684id\u5c5e\u6027\u7528\u6765\u533a\u5206\u5355\u72ec\u7684bean\u5b9a\u4e49\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">class\u5c5e\u6027\u5b9a\u4e49\u4e86bean\u7684\u7c7b\u578b\uff0c\u4e3a\u7c7b\u540d\u7684\u5168\u79f0\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u4f55\u5b9e\u4f8b\u5316\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ApplicationContext context = new ClassPathXmlApplicationContext(\"services.xml\", \"daos.xml\");<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7ec4\u5408\u591a\u4e2axml\u6587\u4ef6\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&lt;beans\/&gt;\u5143\u7d20\u6709\u4e2a&lt;import\/&gt;\u5143\u7d20\u53ef\u4ee5\u8f7d\u5165\u522b\u7684xml\u6587\u4ef6\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;beans&gt;\n    &lt;import resource=\"services.xml\"\/&gt;\n    &lt;import resource=\"resources\/messageSource.xml\"\/&gt;\n    &lt;import resource=\"\/resources\/themeSource.xml\"\/&gt;\n\n    &lt;bean id=\"bean1\" class=\"...\"\/&gt;\n    &lt;bean id=\"bean2\" class=\"...\"\/&gt;\n&lt;\/beans&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u53ef\u4ee5\u7528\u4f46\u662f\u6700\u597d\u4e0d\u8981\u4f7f\u7528\u76f8\u5bf9\u4e0a\u7ea7\u76ee\u5f55\uff1a&#8221;..\/&#8221;<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong><em>\u4f7f\u7528\u5bb9\u5668\uff1a<\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ApplicationContext\u63a5\u53e3\u7684T getBean(String name, Class&lt;T&gt; requiredType)\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ApplicationContext context = new ClassPathXmlApplicationContext(\"services.xml\", \"daos.xml\");\nPetStoreService service = context.getBean(\"petStore\", PetStoreService.class);\nList&lt;String&gt; userList = service.getUsernameList();<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Spring\u56f4\u7ed5\u7740IoC\u4e3a\u4e2d\u5fc3\uff0c\u901a\u8fc7\u5bb9\u5668\u7ba1\u7406\u7a0b\u5e8f\u7684\u7ec4\u4ef6\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[28],"class_list":["post-516","post","type-post","status-publish","format-standard","hentry","category-ioc","tag-ioc"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"_links":{"self":[{"href":"https:\/\/devdoge.org\/index.php?rest_route=\/wp\/v2\/posts\/516","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devdoge.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devdoge.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devdoge.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devdoge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=516"}],"version-history":[{"count":3,"href":"https:\/\/devdoge.org\/index.php?rest_route=\/wp\/v2\/posts\/516\/revisions"}],"predecessor-version":[{"id":519,"href":"https:\/\/devdoge.org\/index.php?rest_route=\/wp\/v2\/posts\/516\/revisions\/519"}],"wp:attachment":[{"href":"https:\/\/devdoge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devdoge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devdoge.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}