简介
spring是一种开发框架,不是公司的那种很大的框架。
它目的在于简化企业级应用的开发。有两大编程思想:依赖注入(解耦)和面向切面编
(aop,将模块更加专一化,将要复用的模块简单引用。)
一、ioc依赖注入
1.bean的实例化:
属性注入
构造函数注入
索引注入
工厂注入
静态工厂注入
2.bean的属性的赋值 (注入参数)
-
基本数据类型赋值,直接赋值
-
引用类型:
- 一般bean
- 内部bean
- 如果引用类型值为null时
- 级联属性(一般不常用):需要事先将引用对象实例化
- 注入集合 list/set/map
代码示例:
<bean id="person">
<property name="id" value="1"/>
<property name="Listfriuts">
<list>
<value>苹果</value>
<value>橘子</value>
</list>
</property>
<property name="器官">
<set>
<value>胳膊</value>
<value>腿</value>
</set>
</property>
<property name="工作安排">
<map>
<entry>
<key><value>上午</value></key>
<value>敲代码</value>
</entry>
<entry>
<key><value>下午</value></key>
<value>睡懒觉</value>
</entry>
</map>
</property>
</bean>
- Properties参数注入
代码示例:
<property name="address">
<props>
<prop key="address1">北京故宫</prop>
<prop key="address2">上海外滩</prop>
</prop>
</property>
3.自动装配(三种)
- byName
beans配置文件下有多种同类型的bean实例,通过name来区分到底通过哪个配置化实例化对象。
- byType
beans配置文件夹下类型唯一。
- 构造方法注入
bean对象java类中添加含bean属性的构造方法,之后在装配该bean时会在beans.xml配置文件中找类型一致的bean属性注入。
注意:自动装配慎用,它屏蔽了装配的细节,容易产生潜在的错误。
4.方法注入
:spring容器为单例模式