标签:coding 开启 and autowired 单例模式 required array auto 一、基本概念
一、基本概念
1、什么是IOC?
IOC(Inversion of Control)即控制反转,是指将对象的创建交给Spring框架进行处理和管理,不需要我们进行手动的对象创建和管理。
2、什么是DI?
DI(Dependency Injection)即依赖注入,它是实现IOC的一种手段。
二、DI的实现方式
主要通过property标签进行属性注入,通过name属性指定需要注入的属性名,value指定需要注入的值
1、注入八大基本类型和String类型的属性时:
2、注入引用类型属性时,可以使用内部bean的形式进行属性注入:
除此之外,还可以使用级联赋值的方式:
3、注入数组类型属性时,需要使用到array标签和value标签
4、
首先需要在xml配置文件中引入p命名空间
基本使用语法:p:属性名=属性值,使用示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
........
<!-- 进行属性注入,p:属性名=属性值 -->
<bean id="humanBean2" class="spring.bean.animal.Human" p:name="Judy" p:age="34" p:pet-ref="tiger2">
</bean>
.......
</beans>
补充点:
IOC操作Bean管理(bean作用域)
1、在bean标签中使用scope属性,可选值:
2、singleton和prototype的区别
1、@AutoWired:根据属性类型进行自动装配
如果出现多个符合的bean需要使用@Qualifier注解进行指定或者再要注入的bean中添加属性primary=true
2、@Qualifier:更具属性名称进行注入,一般配合@Autowired一起使用
3、@Resource:可以根据类型注入,也可以根据名称注入(属于javax包而不属于spring本身带的注解)
默认优先根据名称查找并注入,没有指定name的话默认值是该注解修饰的属性名或setter方法名,如果名称无法找不到就会更根据类型进行查找并注入。
4、@Value:可以注入普通类型属性(八大基本类型 + String字符串类型)
标签:coding 开启 and autowired 单例模式 required array auto 一、基本概念
原文地址:https://www.cnblogs.com/unistart/p/14847545.html