{"id":21974143,"url":"https://github.com/javaobjects/demo_spring04_di_three-setter","last_synced_at":"2025-07-18T17:36:38.120Z","repository":{"id":105562381,"uuid":"192831943","full_name":"javaobjects/demo_spring04_di_three-setter","owner":"javaobjects","description":null,"archived":false,"fork":false,"pushed_at":"2019-06-20T16:48:08.000Z","size":4091,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-22T23:27:48.136Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/javaobjects.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-20T02:07:24.000Z","updated_at":"2019-06-20T16:48:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"ec576ad7-55b0-47ba-857f-b10fa370e879","html_url":"https://github.com/javaobjects/demo_spring04_di_three-setter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/javaobjects/demo_spring04_di_three-setter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javaobjects%2Fdemo_spring04_di_three-setter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javaobjects%2Fdemo_spring04_di_three-setter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javaobjects%2Fdemo_spring04_di_three-setter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javaobjects%2Fdemo_spring04_di_three-setter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/javaobjects","download_url":"https://codeload.github.com/javaobjects/demo_spring04_di_three-setter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javaobjects%2Fdemo_spring04_di_three-setter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265802074,"owners_count":23830509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-29T15:38:53.233Z","updated_at":"2025-07-18T17:36:38.100Z","avatar_url":"https://github.com/javaobjects.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Java-Spring依赖属性的setter方法注入值\n\n1. 沿用上一个项目 \n+ 新建包\n\n![](images/1.png)\n![](images/2.png)\n\n+ 拷贝之之前的类到新建的包里test.set\n![](images/3.png)\n\n2. 删除构造方法并且为属性生成get\u0026set方法\n\n+ 删除构造方法\n\n![](images/4.png)\n\n+ 生成get\u0026set方法\n\n![](images/5.png)\n![](images/6.png)\n\n**MyController.java**\n```\npackage test.set;\n\npublic class MyController {\n\n\tprivate MyService service;\n\t\n\tpublic void login() \n\t{\n\t\tSystem.out.println(\"MyController login........\");\n\t\tservice.serviceLogin();\n\t}\n\n\tpublic MyService getService() {\n\t\treturn service;\n\t}\n\n\tpublic void setService(MyService service) {\n\t\tthis.service = service;\n\t}\n}\n```\n\n**MyService** .java也是相同的操作\n\n3. 修改配置文件\n\n+ 先拷贝一个配置文件并且重命名以防冲突\n\n![](images/7.png)\n\n+ 删除构造方法配置\n\n![](images/8.png)\n\n+ 重写配置文件 beans_set.xml\n\n```\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\n\u003cbeans xmlns=\"http://www.springframework.org/schema/beans\"\n       xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:tx=\"http://www.springframework.org/schema/tx\"\n       xmlns:context=\"http://www.springframework.org/schema/context\"\n       xsi:schemaLocation=\"http://www.springframework.org/schema/beans \n       http://www.springframework.org/schema/beans/spring-beans.xsd \n       http://www.springframework.org/schema/tx \n       http://www.springframework.org/schema/tx/spring-tx.xsd \n       http://www.springframework.org/schema/context \n       http://www.springframework.org/schema/context/spring-context.xsd\"\u003e\n  \u003c!--      先配置最底层的Dao --\u003e\n       \u003cbean id=\"dao\" class=\"test.set.MyDao\"\u003e\u003c/bean\u003e\n       \u003cbean id=\"service\" class=\"test.set.MyService\"\u003e\n       \u003c!-- \n       \tprivate MyDao dao;//MyService依赖MyDao\n       \tname=\"\"里的值属性与这里的属性名相同\n       \tref=\"\"里的值属性与所依赖的类的bean的id值相同\n        --\u003e\n\t\t\t\u003cproperty name=\"dao\" ref=\"dao\"\u003e\u003c/property\u003e\n       \u003c/bean\u003e\n       \u003cbean id=\"controller\" class=\"test.set.MyController\"\u003e\n       \t\t\u003cproperty name=\"service\" ref=\"service\"\u003e\u003c/property\u003e\n       \u003c/bean\u003e\n\u003c/beans\u003e\n```\n4. 测试\n\n+ 为咯验证是set方法注入在set方法内写入一段测试代码\n\n```\npublic void setDao(MyDao dao) {\n\tSystem.out.println(\"setDao()....\");\n\tthis.dao = dao;\n}\n\tpublic void setService(MyService service) {\n\tSystem.out.println(\"setService()\");\n\tthis.service = service;\n}\n```\n+ 更改没试类代码\n\n```\npackage test.set;\n\nimport org.springframework.context.ApplicationContext;\nimport org.springframework.context.support.ClassPathXmlApplicationContext;\n\npublic class Test {\n\n\tpublic static void main(String[] args) {\n\t\t//实例化spring容器及bean\n\t\tApplicationContext act = new ClassPathXmlApplicationContext(\"beans_set.xml\");\n//\t\t得到的是此处的controller\n//\t    \u003cbean id=\"controller\" class=\"test.MyController\"\u003e\n//\t\t\t\u003cconstructor-arg index=\"0\" ref=\"service\"\u003e\u003c/constructor-arg\u003e\n//        \u003c/bean\u003e\n\t\tMyController c = (MyController) act.getBean(\"controller\");\n\t\tc.login();\n\t}\n}\n```\n**测试结果如下**\n![](images/9.png)\n\n**备注：** 运行过程中有报过某个类红色告警不给过，解决方法为将这个类更改名称而后再次改回来则解决咯这个bug，究其原因是因为Eclipse软件件的bug\n\n**以上就是我对于 Java-Spring依赖属性的setter方法注入值 知识点整理的全部内容** 另附[源码](https://github.com/javaobjects/demo_spring04_di_three-setter.git)\n\n==================================================================\n#### 分割线\n==================================================================\n\n**博主为咯学编程：父母不同意学编程，现已断绝关系;恋人不同意学编程，现已分手;亲戚不同意学编程，现已断绝来往;老板不同意学编程,现已失业三十年。。。。。。如果此博文有帮到你欢迎打赏，金额不限。。。**\n\n![](https://upload-images.jianshu.io/upload_images/5227364-0824589594f944c7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjavaobjects%2Fdemo_spring04_di_three-setter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjavaobjects%2Fdemo_spring04_di_three-setter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjavaobjects%2Fdemo_spring04_di_three-setter/lists"}