【Spring 2】spring的属性注入形式
来源:互联网 发布:2016赛季库里数据 编辑:程序博客网 时间:2024/05/21 01:52
一、注入简介
spring是一个java bean的容器,它摒弃了过去通过new关键字调用类再调用类的实例的形式,通过依赖注入维护者一系列的java bean的示例。通过spring所提供的依赖注入的方法,我们可以管理这些java bean之间的引用关系。
spring的注入形式,主要是有4种:setter方法、构造器方法、静态 / 实例工厂方法、注解,这里主要介绍属性注入的:setter方法和构造器方法。
二、实例解析
2.1,setter方法属性注入
首先,在applicationContext里面进行配置
<pre name="code" class="html"><span style="font-family:KaiTi_GB2312;font-size:18px;"><?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:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <bean id="userDao4Mysql" class="com.angel.spring.dao.UserDao4MySqlImpl"></bean> <span></span><bean id="userDao4Oracle" class="com.angel.spring.dao.UserDao4OracleImpl"></bean> <span></span><bean id="userManager" class="com.angel.spring.manager.UserManagerImpl"> <span></span><property name="userDao" ref="userDao4Oracle" /> <span></span></bean> </beans></span>
最后,测试类
<span style="font-family:KaiTi_GB2312;font-size:18px;"></span><span style="font-family:KaiTi_GB2312;font-size:18px;">package com.angel.spring.manager; import com.angel.spring.dao.UserDao; public class UserManagerImpl implements UserManager { private UserDao userDao; public void addUser(String username, String password) { userDao.addUser(username, password); } public void setUserDao(UserDao userDao) { this.userDao = userDao; } } </span>
2.2,构造器方法属性注入
首先,在application中的配置
<pre name="code" class="html"><span style="font-family:KaiTi_GB2312;font-size:18px;"><?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:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"<span style="color:#ff0000;">default-autowire="byType"</span>><bean id="bean2" class="com.angel.spring.Bean2"></bean><bean id="beantest3" class="com.angel.spring.Bean3"><constructor-arg index="0" value="1002" /><constructor-arg index="1" value="Angel" /><constructor-arg index="2" value="23" /></bean></beans></span>
其次,在实体类中提供构造方法
<pre name="code" class="java"><span style="font-family:KaiTi_GB2312;font-size:18px;">public Bean3(int id,String name,String sex){this.id=id;this.name=name;this.sex=sex;}</span>
注意:spring 提供了Resource、Autowired这两个注解用于注入,另外在xml配置文件中,beans标签下有一个参数default-autowire用来设置默认的注入类型。这里我先说明一下default-autowire的用途。首先default-autowire参数有几个可选值:
default:实际上是会优先执行constructor然后是byType
byType:这个是会根据类型去注入,当找到了会直接注入,没有找到不会报错,但是找到多个会报No unique bean of type的错误
byName:这个会根据name注入
constructor:这个是通过构造注入
no:不启用自动注入
三、总结
以上就介绍了属性注入的两种形式:setter和构造器注入。spring同样还支持注解注入,但是今天例子没有做完,等做完了之后,再次进行总结!以前就知道个依赖注入,可是到底是怎么注入的,都没有认真了解过,学习还是需要踏踏实实的!
0 0
- 【Spring 2】spring的属性注入形式
- Spring---->属性的注入
- Spring注入的几种形式
- Spring 依赖注入的三种形式
- 关于spring的属性注入
- Spring属性注入的方式
- spring属性的注入实例
- Spring的属性注入(SPEL)
- spring 静态属性的注入
- Spring属性注入Bean的List属性
- spring 属性注入
- spring公共属性注入
- Spring中的属性注入
- Spring属性注入
- spring 注入属性
- Spring对象属性注入
- Spring属性注入
- Spring 对象属性注入
- Sum of Two Integers
- 操作系统知识总结.
- 4文件上传与下载
- UML 符号说明
- Ubuntu14.04 Torch Configuration
- 【Spring 2】spring的属性注入形式
- too many open files
- 5在JSP中使用数据库
- Makefile.am, Makefile.in 与 Makefile的关系
- 说说JSON和JSONP,也许你会豁然开朗
- Windows批处理(cmd/bat)常用命令小结
- final方法不能被覆盖,可被重载(方法名相同而参数不同)
- 【HDU】5490 Simple Matrix(2015 ACM/ICPC Asia Regional Hefei Online)
- 大数据时代的技术hive:hive介绍