Sring---注入方式
1.bean.xml 创建完成成为Spring的bean的配置文件,通过Spring容器类 加载配置文件 使用。
注: 依赖注入:1.依赖:bean对象的创建依赖spring容器。 2.注入:bean对象中的所有属性,由容器来注入。
注入方式:1.构造器注入:3种方式
2.set注入:必须要有无参构造函数 和 set方法
1 2 3 4 5 6 7 8 9 10 11 | public class Address { private String address; public String getAddress() { return address; } public void setAddress(String address) { this .address = address; } }; package com.chen.pojo;<br><br> import java.util.List;<br> import java.util.Map;<br> import java.util.Properties;<br> import java.util.Set;<br><br> public class Student {<br><br><br> private String name;<br> private Address address;<br> private String[] books;<br> private List<String> hobbys;<br> private Map<String,String> cards;<br> private Set<String> games;<br> private Properties info;<br><br> public String getName() {<br> return name;<br> }<br><br> public void setName(String name) {<br> this .name = name;<br> }<br><br> public Address getAddress() {<br> return address;<br> }<br><br> public void setAddress(Address address) {<br> this .address = address;<br> }<br><br> public String[] getBooks() {<br> return books;<br> }<br><br> public void setBooks(String[] books) {<br> this .books = books;<br> }<br><br> public List<String> getHobbys() {<br> return hobbys;<br> }<br><br> public void setHobbys(List<String> hobbys) {<br> this .hobbys = hobbys;<br> }<br><br> public Map<String, String> getCards() {<br> return cards;<br> }<br><br> public void setCards(Map<String, String> cards) {<br> this .cards = cards;<br> }<br><br> public Set<String> getGames() {<br> return games;<br> }<br><br> public void setGames(Set<String> games) {<br> this .games = games;<br> }<br><br> public Properties getInfo() {<br> return info;<br> }<br><br> public void setInfo(Properties info) {<br> this .info = info;<br> }<br> <br>}<?xml version= "1.0" encoding= "UTF-8" ?><beans xmlns= "http://www.springframework.org/schema/beans" <br> xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" <br> xsi:schemaLocation= "http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd" ><br><br> <bean id= "address" class = "com.chen.pojo.Address" ><br> <property name= "address" value= "" /><br> </bean><br> <bean id= "student" class = "com.chen.pojo.Student" ><br> <!-- String name--> //普通属性注入<br> <property name= "name" value= "chen" /><br> <!-- Address addres--> //对象类型注入<br> <property name= "address" ref= "address" /><br> <!-- String[] books--> //数组注入<br> <property name= "books" > <br> <array value-type= "java.lang.String" ><br> <value>java数</value><br> <value>java书 2 </value><br> <value>java书 3 </value><br> </array><br> </property><br> <!-- List<String> hobbys--> //list 结合注入<br> <property name= "hobbys" > <br> <list value-type= "java.lang.String" ><br> <value>游泳</value><br> <value>游泳</value><br> <value>游泳</value><br> </list><br> </property><br> <!-- Map<String,String> cards--> //Map注入<br> <property name= "cards" ><br> <map value-type= "java.lang.String" key-type= "java.lang.String" ><br> <entry key= "学生卡" value= "123456" /><br> <entry key= "学生卡2" value= "123fds456" /><br> <entry key= "学生卡3" value= "1fsf23456" /><br> </map><br> </property><br> <!-- Set<String> games--> //set注入<br> <property name= "games" ><br> <set value-type= "java.lang.String" ><br> <value>LOL</value><br> <value>WOW</value><br> </set><br> </property><br> <!-- String wife--> //Null注入 默认不赋值<br> <property name= "wife" ><br> < null /><br> </property><br> <!-- Properties info--> //properties 注入<br> <property name= "info" ><br> <props><br> <prop key= "name" >chentao</prop><br> <prop key= "sex" >男</prop><br><br> </props><br> </property><br> </bean><br><br><br> <bean id= "hello" class = "com.chen.pojo.Hello" ><br><br> <property name= "id" value= "1" /><br> <property name= "name" value= "lll" /><br> </bean><br><br></beans> |
3.P: 和 C: 命名空间的用法需要在配置文件里引入头配置链接
C(constructor 构造器的英文简写):命名空间需要 有参构造函数注入 但是必须要有无参构造函数
P (property 属性的英文简写)
两种方式,一种针对构造器注入 一种针对普通和set注入 (不太)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 终于决定:把自己家的能源管理系统开源了!
· C#实现 Winform 程序在系统托盘显示图标 & 开机自启动
· 了解 ASP.NET Core 中的中间件
· 实现windows下简单的自动化窗口管理
· 【C语言学习】——命令行编译运行 C 语言程序的完整流程