Spring笔记②--各种属性注入
Ioc 反转控制 反转资源获取的方向
分离接口与实现
采用工厂模式
采用反转控制
Di 依赖注入 依赖容器把资源注入
配置bean 通过全类名(反射)
配置形式:基于xml方式
Ioc容器的beanFactory&ApplicationContext
依赖注入的方式:属性注入,构造器注入
Bean必须要有一个无参的构造函数
Class:bean的全类名,通过反射的方式在IOC容器中创建bean,所以要求bean中必须有无参的构造函数
id :bean 的标示,id唯一
applicationContext 是spring的ioc容器,是一接口。
其实现类:
ClassPathXmlApplicatContext从类的路径下来加载配置文件
Getbean()
FileSystemXmlApplicationContext
属性注入
通过setter方法注入bean的属性值或依赖的对象
属性注入使用<property>元素,使用name属性指定bean的属性名称,value属性或<value>子节点指定属性值。
属性注入是实际应用中最常见的注入方式。
|
<bean <property </bean> |
构造函数注入
|
<!-- 通过构造函数配置bean的属性 --> <bean <constructor-arg <constructor-arg <constructor-arg </bean>
<bean <constructor-arg <constructor-arg <constructor-arg </bean> |
使用构造器注入属性值可以指定参数的位置和参数的类型!以区分重载的构造器!
如果value字面的值中包含特殊字符就可以通过<![CDATA[字符串]]>的形式注入。
我们也可通过value子节点进行配置
可以使用property的ref属性建立bean之间的引用关系。
|
<bean <property <property <property </bean> |
可以通过一组内置的xml标签来配置集合属性如 list set map
|
<bean <property <property <property <list > <ref <ref </list> </property> </bean> |
也可通过内部bean来注入属性
|
<bean <property <property <property <list > <ref <ref <bean <constructor-arg <constructor-arg <constructor-arg </bean> </list> </property> |
Map注入
|
<bean <property <property <property <map> <entry <entry </map> </property> </bean> |
Properties属性注入
|
<bean <property <props> <prop <prop <prop <prop </props> </property> </bean> |
Spring笔记②--各种属性注入的更多相关文章
- 这篇文章,我们来谈一谈Spring中的属性注入
本系列文章: 读源码,我们可以从第一行读起 你知道Spring是怎么解析配置类的吗? 配置类为什么要添加@Configuration注解? 谈谈Spring中的对象跟Bean,你知道Spring怎么创 ...
- Spring学习笔记(二)——Spring相关配置&属性注入&Junit整合
一.Spring的相关配置 1.1 Bean元素 class属性:被管理对象的完整类名 name属性:给Bean起个名字,能重复,能使用特殊字符.后来属性 id属性:给Bean起个名字,不能重复,不能 ...
- Spring框架的属性注入
1. 对于类成员变量,常用的注入方式有两种 * 构造函数注入(没有空的构造方法注入) * 属性setter方法注入(有空的构造方法注入) 2. 在Spring框架中提供了前两种的属性注入的方式 1. ...
- Spring - IoC(2): 属性注入 & 构造注入
依赖注入是指程序运行过程中,如果需要另外的对象协作(访问它的属性或调用它的方法)时,无须在代码中创建被调用者,而是依赖于外部容器的注入. 属性注入(Setter Injection) 属性注入是指 I ...
- Spring为某个属性注入值或为某个方法的返回值
项目中用到需要初始化一些数据,Spring提供了filed的值注入和method的返回值注入. 一.Field值的注入 filed值注入需要使用org.springframework.beans.fa ...
- Spring入门_02_属性注入
Spring 的set方法(属性)注入 UserAction类中设置属性和get.set方法.(实际上只需要set方法) private List list = null; private Set s ...
- Spring中的属性注入注解
@Inject使用 JSR330规范实现的 默认按照类型注入 如果需要按照名称注入,@Inject需要和@Name一起使用 @Resource JSR250规范实现的,需要导入不同的包 @Resour ...
- Spring.net页面属性注入
.条件spring.web程序集 1.1 system.web配置 <httpHandlers> <add verb="*" path="*.aspx& ...
- 【Java Web开发学习】Spring构造器和属性注入
测试类 public class Construct { private String address; private long phone; public Construct(String nam ...
随机推荐
- Xamarin 编写混合APP趟坑记录(二)
前言 公司要开发一个App,为了便于维护和更新,而不用每次去苹果审核,采用的是混合开发方式:用WebVie+WebApp的方式. 因为本人不会Java和ObjectC,公司又不想花钱招这两个岗位的人, ...
- linux 学习第二十天(mariadb配置)
一.mariadb yum install mariadb mariadb-server systemctl restart mariadb systemctl enable mariadb mysq ...
- Vue+axios 实现http拦截及vue-router拦截
现如今,每个前端对于Vue都不会陌生,Vue框架是如今最流行的前端框架之一,其势头直追react.最近我用vue做了一个项目,下面便是我从中取得的一点收获. 基于现在用vue+webpack搭建项目的 ...
- 利用IPC通道进行进程间通信(C#)
有一个解决方案,其中包括一个Windows服务和一个Windows应用程序,两者之间需要进行通信.查了下,可以使用多种方法,如Web service(适用于不同系统及跨平台情况)..NET Remot ...
- Taming the asynchronous beast with ES7
https://pouchdb.com/2015/03/05/taming-the-async-beast-with-es7.html We have a problem with promises ...
- JavaWeb基础—Servlet重要对象
一.ServletConfig对象 当servlet配置了初始化参数后(<init-param> <param-name> <param-value>),web容器 ...
- Oracle下各个NLS相关参数取得方法
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL杂记页 回到顶级页面:PostgreSQL索引页 [作者 高健@博客园 luckyjackgao@gmail. ...
- 4516: [Sdoi2016]生成魔咒
4516: [Sdoi2016]生成魔咒 链接 题意: 求本质不同的子串. 分析: 后缀数组或者SAM都可以. 考虑SAM中每个点的可以表示的子串是一个区间min(S)~max(S),把每个点的这个区 ...
- SpringCloud-微服务的注册与发现Eureka(二)
一.SpringCloud简介 Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均 ...
- How to get PrivateKey, PublicKey, Cert ID:
0. Prepare cert.pfx and its password, verify_sign_acp.cer 1. Get Private Key $ openssl pkcs12 -in ce ...