概述
1.value与<value>注入方式的区别:
| 使用子元素<value>注入 | 而使用value属性注入 |
参数值位置 | 写在首尾标签(<value></value>)的中间(不加双引号) | 写在value的属性值中(必须加双引号) |
type属性
| 有(可选) 可以通过type属性指定数据类型 | 无 |
参数值包含特殊字符(<, &)时的处理方法 | 两种处理方法。 一、使用<![CDATA[ ]]>标记 二、使用XML预定义的实体引用 | 一种处理方法。即使用XML预定义的实体引用 |
其中,XML预定义的实体引用,部分如表所示。
实体引用 | 表示的符号 |
< | < |
& | & |
> | > |
2.特殊值的注入问题
①给对象类型赋值null :
<property name="name" >
<null/>
</property>
注意:赋值null 没有<value>
②赋空值 "" :
<property name="name" >
<value></value>
</property>
3.ioc中定义bean的前提
在ioc中定义bean的前提:该bean的类必须提供了无参构造(系统会自动生成无参构造,但定义了有参构造后系统不会自动生成无参构造)
4.自动装配(第四种依赖注入)(只适用于ref类型 ):
约定优于配置
自动装配:
<bean ... class="org.lanqiao.entity.Course" autowire="byName|byType|constructor|no" > byName本质是byId
①byName: 自动寻找:其他bean的id值=该Course类的属性名
②byType: 其他bean的类型(class) 是否与 该Course类的ref属性类型一致 (注意,此种方式必须满足:当前Ioc容器中只能有一个Bean满足条件 )
③constructor: 其他bean的类型(class) 是否与该Course类的构造方法参数的类型一致;此种方式的本质就是byType
可以在头文件中 一次性将该ioc容器的所有bean统一设置成自动装配:
<beans xmlns="http://www.springframework.org/schema/beans"
...
default-autowire="byName">
提示:自动装配虽然可以减少代码量,但是会降低程序的可读性,使用时需要谨慎。
5.使用注解定义bean:
通过注解的形式将bean以及相应的属性值放入ioc容器
<context:component-scan base-package="org.lanqiao.dao">
</context:component-scan>Spring在启动的时候,会根据base-package在该包中扫描所有类,查找这些类是否有注解@Component("studentDao"),如果有,则将该类 加入spring Ioc容器。
@Component细化:
①dao层注解:@Repository
②service层注解:@Service
③控制器层注解:@Controller
最后
以上就是明理香氛为你收集整理的【Spring笔记】03、value与
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复