Spring使用教程(三)注解2
2015-06-11 22:49
671 查看
Bean于Bean之间存在关联关系情况下使用注解
•@Autowired 注解自动装配具有兼容类型的单个 Bean属性
–构造器, 普通字段(即使是非 public), 一切具有参数的方法都可以应用@Authwired 注解
–默认情况下, 所有使用 @Authwired 注解的属性都需要被设置. 当 Spring 找不到匹配的 Bean 装配属性时, 会抛出异常, 若某一属性允许不被设置, 可以设置 @Authwired 注解的 required 属性为 false
–默认情况下, 当 IOC 容器里存在多个类型兼容的 Bean 时, 通过类型的自动装配将无法工作. 此时可以在 @Qualifier 注解里提供 Bean 的名称. Spring 允许对方法的入参标注 @Qualifiter 已指定注入 Bean 的名称
– @Authwired 注解也可以应用在数组类型的属性上, 此时 Spring 将会把所有匹配的 Bean 进行自动装配.
–@Authwired 注解也可以应用在集合属性上, 此时 Spring 读取该集合的类型信息, 然后自动装配所有与之兼容的 Bean.
–@Authwired 注解用在 java.util.Map 上时, 若该 Map 的键值为 String, 那么 Spring 将自动装配与之 Map 值类型兼容的 Bean, 此时 Bean 的名称作为键值
View Code
•@Autowired 注解自动装配具有兼容类型的单个 Bean属性
–构造器, 普通字段(即使是非 public), 一切具有参数的方法都可以应用@Authwired 注解
–默认情况下, 所有使用 @Authwired 注解的属性都需要被设置. 当 Spring 找不到匹配的 Bean 装配属性时, 会抛出异常, 若某一属性允许不被设置, 可以设置 @Authwired 注解的 required 属性为 false
–默认情况下, 当 IOC 容器里存在多个类型兼容的 Bean 时, 通过类型的自动装配将无法工作. 此时可以在 @Qualifier 注解里提供 Bean 的名称. Spring 允许对方法的入参标注 @Qualifiter 已指定注入 Bean 的名称
– @Authwired 注解也可以应用在数组类型的属性上, 此时 Spring 将会把所有匹配的 Bean 进行自动装配.
–@Authwired 注解也可以应用在集合属性上, 此时 Spring 读取该集合的类型信息, 然后自动装配所有与之兼容的 Bean.
–@Authwired 注解用在 java.util.Map 上时, 若该 Map 的键值为 String, 那么 Spring 将自动装配与之 Map 值类型兼容的 Bean, 此时 Bean 的名称作为键值
<?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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <!-- 指定Spring IOC容器扫描的包 --> <!-- resource-pattern 扫描指定的资源 --> <!-- <context:component-scan base-package="com.test.spring.annotation" resource-pattern="controller/*.class" ></context:component-scan>--> <!-- exclude-filter 子节点指定排除那些指定表达式的组件 --> <!-- include-filter 子节点包含那些表达式的组件,需要配置 use-default-filters为false--> <context:component-scan base-package="com.test.spring.annotation" > <!-- <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> --> <!-- - <context:exclude-filter type="assignable" expression="com.test.spring.annotation.TestObject"/> <context:include-filter type="assignable" expression="com.test.spring.annotation.TestObject"/> --> </context:component-scan> </beans>
package com.test.spring.annotation.repository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import com.test.spring.annotation.TestObject; //注解可以通过value属性值标识,bean在IOC容器中的name @Repository("userRepository") public class UserRepositoryImlpl implements UserRepository{ @Autowired(required=false) private TestObject to; public void save() { System.out.println("实现接口的save"); } }
View Code
相关文章推荐
- [Drools]JAVA规则引擎2 -- Drools实例
- Java集合之List
- Java: 面向对象程序设计(上)
- Struts2
- Java -数组-String字符串
- Java ——面向对象
- Java基础-数组——String字符串
- Java试验四
- 第1章 Java程序设计概述
- Thinking in JAVA笔记——第九章 接口
- Spring简介
- 从Intellij IDEA14 SpringMVC4+Hibernate4问题得到的启发
- Java集合类
- spring IOC源码解读
- Java内存模型与volatile关键字
- LeetCode_27---Remove Element
- Android Eclipse 环境搭建
- Java Web----EL(表达式语言)详解
- 在Spring中通过EasyUI的dialog创建登录界面
- Java实现的拦截器