SSM第一天 springDI
2020-04-06 16:06:11来源:博客园 阅读 ()
SSM第一天 springDI
SpringDI(Dependency Injection)
DI作用:因为IOC解除了程序间的依赖关系,所以DI就是weil维护程序间的依赖关系,称:依赖注入
能注入的三类数据类型:
- 基本类型和String
- 其他bean类型(在配置文件中或者注解配置过的bean)
- 复杂类型/集合类型
注入的三种方式:
使用构造函数注入
优势: 可以实现,在获取某对象时,注入数据时必须的操作,否则对象无法创建成功
弊端: 改变了bean对象的实例化方式,导致我们在创建对象时,如果用不到这些属性,也必须提供
<bean id="userService" class="com.xp.service.impl.UserServiceImpl">
<constructor-arg name="name" value="哈哈哈"></constructor-arg>
<constructor-arg name="age" value="18"></constructor-arg>
<constructor-arg name="date" ref="now"></constructor-arg>
</bean>
<bean id="now" class="java.util.Date"></bean>
- 参数说明:
-
一个constructor-arg标签代表一个依赖
-
constructor-arg属性:
- type 用于指定要注入的数据类型,该数据类型也是构造函数中某个或某些参数的类型
- index 用于指定要注入的数据,给构造函数中指定索引位置的参数辅助,索引从0开始
- name 用于指定给构造函数中指定名称的函数辅助(常用)
- 以上三个都是用于指定给构造函数中哪个参数赋值
- value 用于提供基本类型和String类型的数据
-
- ref 用于指定其他bean类型数据,即在spring的IOC核心容器中配置的bean对象
-
使用set方法注入(常用)
优势: 创建对象时没有明确限制,可以直接使用默认构造函数
弊端: 无法实现让某个属性必须有值,则获取对象是有可能set方法没有执行
<bean id="userService" class="com.xp.service.impl.UserServiceImpl"> <property name="name" value="hhh"></property> <property name="age" value="17"></property> <property name="date" ref="now"></property> </bean> <bean id="now" class="java.util.Date"></bean>
- 参数说明:
- 一个property标签代表一个依赖
- property属性:
- name 用于指定给构造函数中指定名称的函数辅助(常用)
- value 用于提供基本类型和String类型的数据x
- ref 用于指定其他bean类型数据,即在spring的IOC核心容器中配置的bean对象
- 参数说明:
-
使用注解注入
复杂类型注入
-
常用:List,Array,Set,Map,Propertise
-
list,set,array标签可以混用,map和props标签可以混用,即结构相同,标签可以互换,所以,只需要记住两个标签即可
<bean id="userDao" class="com.xp.dao.impl.UserDaoImpl">
<property name="myList">
<list>
<value>213</value>
<value>2513</value>
<value>43</value>
<value>2613</value>
</list>
</property>
<property name="myStrs">
<array>
<value>324</value>
<value>324534</value>
<value>25654</value>
</array>
</property>
<property name="mySet">
<set>
<value>23</value>
<value>234</value>
<value>235</value>
<value>236</value>
</set>
</property>
<property name="myMap">
<map>
<entry key="3424" value="543534">
</entry>
<entry key="3453">
<value>3453</value>
</entry>
</map>
</property>
<property name="myProps">
<props>
<prop key="32243">fsdf</prop>
<prop key="45">fsd</prop>
<prop key="32543243">fsd</prop>
</props>
</property>
</bean>
原文链接:https://www.cnblogs.com/Climb-Xu/p/12650397.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:稀疏数组
- java学习之第一天 2020-06-11
- Java高级实战Maven+JSP+SSM+Mysql实现的音乐网站,70%人不会 2020-06-04
- Maven+JSP+SSM+Mysql实现的音乐网站 2020-06-03
- JSP+SSM+Mysql实现的图书馆预约占座管理系统 2020-05-26
- 创建ssm项目步骤 2020-05-15
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash