- 浏览: 148270 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
flyingcatjj:
很适合我这种刚接触的
myeclipse xfire 开发webservice实例 -
tangzlboy:
非常好,非常详细,非常中用。
linux入门 -
yzz9i:
楼主说的很是详细。
myeclipse xfire 开发webservice实例 -
zqx888191:
很再理阿!
老程序员的教诲 -
simplecat123:
...
SQLite数据读取
六 用@Resource注解完成属性装配 java代码注入配置,需要spring解压文件夹下lib/j2ee/common-annotation.jar这个库文件,添加玩以后,修改beans.xml <?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-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <context:annotation-config/> </beans> 引入注解命名空间和标签 xmlns:context="http://www.springframework.org/schema/context" http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd 打开注解 <context:annotation-config/> 由于现在家里上spring的网站总是上不去,如果要出现标签提示,那么和前面一样在本地添加spring-context-2.5.xsd 现在配置工作完成了,现在开始用java代码来完成注入 @Autowired方式:默认按类型装配,默认情况下它要求以来对象必须存在,如果允许null值,可以设置它required属性为false。 如果我们想使用按名称装配,可以结合@Qualifier注解一起使用 @Autowired @Qualifier("personDaoBean") private PersonDao personDao; @Resource方式:默认按名称装配,名称可以通过@Resource的name属性指定,如果没有指定的name属性,当注解标注在字段上, 即默认取字段的名称作为bean名称寻找以来对象,当注解标注在属性的setter方法上,即迷人取属性名作为bean名称寻找以来对象。 @Resource(name="personDaoBean") private PersonDao personDao; 推荐使用@Resource方式,因为@Resource是j2ee里的一个注解,而@AutoWired是spring里的注解,使用@Resource可以降低与框架 的耦合度。 完整配置 <?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-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <context:annotation-config/> <bean id="persondao" class="cn.itcast.service.impl.PersonDaoBean"></bean> <bean id="personservicebean" class="cn.itcast.service.impl.PersonServiceBean"></bean> </beans> 实体类 package cn.itcast.service.impl; import javax.annotation.Resource; import cn.itcast.service.PersonDao; import cn.itcast.service.PersonService; public class PersonServiceBean implements PersonService { private PersonDao persondao; private String name; public PersonServiceBean(){} public void save(){ System.out.println("我是save()方法"); this.persondao.add(); //System.out.println("name----------->"+name); } public PersonDao getPersondao() { return persondao; } @Resource public void setPersondao(PersonDao persondao) { this.persondao = persondao; } public String getName() { return name; } public void setName(String name) { this.name = name; } public PersonServiceBean(PersonDao persondao, String name) { this.persondao = persondao; //this.name = name; } } 这里的注解是用在set方法上,可以用在属性声明部分 @Resource private PersonDao persondao; 实现效果一样 通过测试 注意:1 使用注解的实体类中,如果存在一个有参的构造方法,那么必须重写一个无参的构造方法 如果再实体类中,没有构造方法,其构造方法是缺省的无参的构造方法,但是有了有参的构造方法, spring在实例化的时候,会找不到无参的构造方法,因为有参的构造方法把缺省的构造方法给覆盖了 所以这时要显性的写上无参的构造方法 否则在spring初始化的时候会报错 2 这两个注解的区别:在java代码中使用@Autowired或@Resource注解方式进行装配,这两个注解的区别是: @Autowired 默认按类型装配,@Resource默认按名称装配,当找不到与名称匹配的bean才会按类型装配。 end!完毕!
发表评论
-
十八 Spring2.5+Hibernate3.3+Struts2整合开发
2011-07-04 17:16 825十八 Spring2.5+Hibernate3.3+Strut ... -
十七 Spring2.5+JPA+Struts1.3整合开发
2011-07-04 17:16 1257十七 Spring2.5+JPA+Struts1.3整合开发 ... -
十六 Spring2.5+Hibernate3.3+Struts1.3整合开发
2011-07-04 17:13 913十六 Spring2.5+Hibernate3.3+Strut ... -
十五 用xml方式配置事务
2011-07-04 17:11 843十五 用xml方式配置事务 ... -
十四 spring容器的声明式事务管理
2011-07-04 17:10 983spring在运行期(unchecked ... -
十三 Spring+JDBC组合开发
2011-07-04 17:09 971十三 Spring+JDBC组合开发 ... -
十二 spring的AOP编程
2011-07-04 17:06 1387Aspect(切面):指横切性关 ... -
十一 使用CGLIB实现AOP功能与AOP概念解释
2011-07-04 17:05 826十一 使用CGLIB实现AOP功能与AOP概念解释 前面 ... -
十 使用JDK中的Proxy技术实现AOP功能
2011-07-04 17:03 817十 使用JDK中的Proxy技术实现AOP功能 通过代理 ... -
九 自动扫描和管理bean
2011-07-04 17:02 766九 自动扫描和管理bean ... -
八 @Autowire注解与自动装配
2011-07-04 17:01 878使用了@Autowired的注解方式,这种默认按类型查找符合的 ... -
七 编码剖析@Resource注解的实现原理
2011-07-04 17:00 1104七 编码剖析@Resource注解的实现原理 Itcas ... -
五 依赖注入
2011-07-04 16:57 759五 依赖注入 1>set注入方式 1 对象注入 ... -
四 spring管理bean的作用域
2011-07-04 16:57 953四 spring管理bean的作用域 先看配置 < ... -
三 实例化bean的方法
2011-07-04 16:56 721三 实例化bean的方法 1接口 package cn. ... -
二 开启spring之旅
2011-07-04 16:55 7191 首先下载spring 最佳答案 版本2.5.6,官 ... -
一 spring的介绍
2011-07-04 16:54 7001 Spring是什么 Spring是一个开源的控制反转(I ... -
Spring学习笔记(4)----Bean节点信息配置
2010-10-29 16:53 792默认情况下,Spring的Ioc容器启动时会初始化bean ... -
Spring学习笔记(3)----编码剖析Spring管理Bean的原理
2010-10-29 16:47 727Xml代码 <?xml versio ... -
Sping学习笔记(2)----实例化Bean的三种方式
2010-10-29 16:45 842Spring的实例化Bean有三种方式: 使用类构造器 ...
相关推荐
如果注解没有指定`name`属性,Spring会使用字段名或方法名(对于setter方法,去掉`set`前缀)作为bean的名字。例如,对于`private MyService myService;`,Spring会查找名为`myService`的bean。 ### `@Resource`与`...
"通过@Resource注解实现属性装配代码详解" 通过@Resource注解实现属性装配代码详解是 Spring 框架中的一种依赖注入方式。依赖注入是指在应用程序中,某个组件需要使用其他组件或对象时,通过容器来提供这些对象的...
在Spring框架中,`@Autowired`和`@Resource`注解是两个常见的依赖注入(DI, Dependency Injection)工具,它们都是用来解决组件之间的耦合问题,使得代码更加灵活和可测试。然而,这两个注解在具体使用时有一些关键性...
3. **名称解析**:如果`@Resource`注解包含了`name`属性,Spring会直接使用这个名称查找bean。否则,它会使用字段或方法的名称。在找不到匹配的bean时,Spring会抛出异常。 4. **依赖注入**:一旦找到匹配的bean,...
本篇文章主要关注的是使用注解来完成属性装配的方法。 首先,我们来看`@Autowired`注解,这是Spring提供的核心注解之一,用于自动装配Bean。当在字段、构造器参数或方法上使用`@Autowired`时,Spring会尝试找到类型...
在Spring框架中,`@Resource`和`@Component`是两个重要的注解,它们用于不同的目的,但都与依赖注入(Dependency Injection,简称DI)息息相关。理解这两个注解的使用和区别是掌握Spring框架核心概念的关键。 首先...
Spring 注解@Resource 和@Autowired Spring 框架中提供了两个重要...如果需要按照名称装配,可以使用@Resource,如果需要按照类型装配,可以使用@Autowired。同时,需要注意它们的装配顺序和使用策略,以免出现错误。
在Spring框架中,`@Autowired`和`@Resource`都是用于自动装配Bean的重要注解,它们简化了依赖注入的过程,使得代码更加简洁、易于维护。本文将深入探讨这两个注解的使用、区别以及如何在实际开发中应用它们。 首先...
也就是说,如果在字段或方法上使用`@Resource`,Spring会查找Bean的名字与注解中的`name`属性相匹配。如果`name`属性未指定,那么Spring会尝试使用字段名或方法名作为Bean的ID来查找并注入相应的Bean。如果找到多个...
总结起来,这个"spring使用resource注解的demo"旨在演示如何利用`@Resource`注解进行bean的自动装配,以及与`@Autowired`的区别。通过分析`test008`中的文件,我们可以学习如何在实际项目中应用这些概念,以实现更...
在Spring框架中,`@Autowired`注解是一个关键特性,用于简化依赖注入的过程。依赖注入是一种设计模式,它允许...通过合理的bean设计和适当的注解使用,我们可以充分利用Spring的强大功能,同时保持代码的简洁和高效。
Spring框架是Java领域中实现DI的典型代表,提供了多种注解来支持这一机制,其中两个常用的注解是`@Resource`和`@Autowired`。虽然它们都可以用来实现依赖注入,但它们的用法和原理有所不同。 首先,`@Resource`注解...
@Resource 是 JDK 提供的注解,只是 Spring 在实现上提供了这个注解的功能支持。它的使用方式和 @Autowired 完全相同,最大差异于 @Resource 可以支持ByName 和 ByType 两种注入方式。如果使用 name,Spring 就根据 ...
例如,在下面的代码中,我们使用@Resource将Tiger和Monkey自动装配到Zoo中: ```java public class Zoo { @Resource(name="tiger") private Tiger tiger; @Resource(name="monkey") private Monkey monkey; } ...
在 Spring 3.x 中,提供了两种用于属性装配的注解:@Autowired 和 @Resource。 1. @Autowired @Autowired 注解用于自动装配依赖项,默认按照类型匹配的方式(byType)进行注入。可以用于成员变量、setter 方法、...
同时,通过@Autowired和@Resource注解,可以方便地在类之间注入依赖,简化代码。 总之,AOP中的注解自动装配通知是Spring框架中的重要特性,它通过注解简化了Bean的装配过程,同时也使得AOP的切面更容易实现和理解...
这意味着在使用`@Resource`时,你可以选择通过`name`属性显式指定bean的名称,也可以省略此属性,让Spring自动按类型装配。相比于`@Autowired`,`@Resource`提供了更灵活的依赖查找策略。 #### 三、`@Qualifier`的...
在Spring 2.5引入了注解支持后,开发者可以使用注解来声明Bean的属性、方法或构造函数中的依赖,而无需XML配置。`@Autowired`是Spring中最常见的注解,用于自动装配匹配类型的Bean。然而,`@Resource`注解则提供了另...
Spring 注解实现自动装配过程解析 ...通过本文的学习,读者可以更好地理解 Spring 框架中的自动装配机制,并学会使用 @Autowired、@Resource 和 @Required 等注解来实现自动装配,以提高编程效率和代码可读性。
在使用@PostConstruct时,一个典型的应用场景是在父类中定义了一个属性,但是父类中并没有提供该属性的setter方法,子类需要通过自己的方法来设置该属性。这时,可以在子类的适当方法上使用@PostConstruct注解来完成...