- 浏览: 157854 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (130)
- Database (5)
- JavaSE (23)
- JavaScript (11)
- Struts2 (15)
- Hibernate (11)
- Spring (16)
- Linux (4)
- Jquery (3)
- Tools (12)
- Jsp (7)
- 杂谈 (9)
- WEB Project (10)
- WebService (16)
- maven (2)
- android (1)
- memcache (2)
- 网络通信 (4)
- solr (1)
- cxf (7)
- powerdesigner (1)
- jxls (1)
- springmvc (1)
- nosql (1)
- node.js (0)
- thrift (0)
- REST (1)
- tag (1)
最新评论
原文链接:http://blog.sina.com.cn/s/blog_44167fca0100e9iu.html
Autowire模式就是在spring的声明文件里用作进行对象间的关联关系自动绑定的,就是在spring beanfactory内的一个bean对其bean的引用可以自动进行,而不一定用ref=的方式显式声明。在reference的3.3.6节有详细的介绍,autowire主要有5种模式:
1 no
不使用Autowire,引用关系显示声明,spring的reference也建议不用autoware,因为这会破坏模块关系的可读性,原文如下:
Note: as has already been mentioned, for larger applications, it is discouraged to use autowiring because it
removes the transparency and the structure from your collaborating classes.
2 byName
用名称关联,如果指定了这种模式,如
<bean id="userManagerTarget" class="com.mdcchina.jianghu.logic.UserManager" >
<property name="baseDAO"/>
</bean>
这样对于bean userManagerTarget的属性baseDAO,spring就会自动去引用同名的bean,也就是上面的声明和下面是等价的:
<bean id="userManagerTarget" class="com.mdcchina.jianghu.logic.UserManager" >
<property name="baseDAO">
<ref local="baseDAO"/>
</property>
</bean>
3 byType
和前面的byName类似的,就是这个属性会在整个beanFactory定义里找和这个属性一样的bean自动关联上,如果有2个或更多这个类型的bean在beanFactory的定义里,就直接抛异常了,如果没有,就什么都不发生,这个属性就是null,所以这个只适用与这个属性的类型有且只有一个同类的bean在spring里定义
4 constructor
这个的意思我没有确定的把握,不过感觉用途也不会大,好像是用构造函数新建一个属性类型的bean并关联上,reference原文是:
This is analogous to byType, but applies to constructor arguments. If there isn't exactly one
bean of the constructor argument type in the bean factory, a fatal error is raised.
5 autodetect
这个的意思好像是说自动决定用byType还是constructor方式,原文如下:
Chooses constructor or byType through introspection of the bean class. If a default
constructor is found, byType gets applied.
综上所述,感觉上只有byName比较实用一些,但是spring的reference还是不推荐在定义中用这个功能
发表评论
-
spring之BeanFactoryAware接口
2014-01-16 10:47 632要直接在自己的代码中读取spring的bean,我们除了根据常 ... -
classpath:xxx.xml 与 classpath*:xxx.xml的区别
2012-12-14 14:45 773在使用开源框架如spring、struts2等经常需要配 ... -
最新SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结
2012-12-14 14:19 692一 开发环境 1、动态web工程 2、部分依赖 ... -
spring AOP 教程
2012-03-26 11:35 728URL http://wenku.baidu.com/vi ... -
servlet 中获得spring Bean 的方法
2011-12-01 10:58 1116只需要servlet 中的servletCo ... -
spring 3 中使用注解的方式来进行任务调度。
2011-07-13 12:14 1112以上内容基于Spring 3.0.5 ... -
Struts2+spring注解配置简介
2011-07-13 10:08 908如题。。。。 -
spring mail 实例
2010-12-06 11:35 1133啥也不说了,见附件: 发送ftl模板实例: pr ... -
Flush() Spring/Hibernate
2010-05-20 11:00 936当service更新修改数据,执行flush() ... -
关于spring+hibernate的FlushMode的记录
2010-05-15 17:12 1218NEVEL 已经废弃了,被MANUAL取代了 2 MAN ... -
spring 5中事务配置方法<链接>
2010-03-16 09:13 868http://www.iteye.com/topic/6154 ... -
struts2.1+hibernate 3.2+spring 2.5 整合
2010-03-10 12:39 1984在MyEclipse中新建一个项目,基于j2ee5,按以下步骤 ... -
spring配置详解《转》
2010-01-28 10:27 905原文:::http://www.iteye.com/topic ... -
spring jar包详解<转>
2010-01-28 09:37 678spring.jar是包含有完整发布的单个jar包,sprin ... -
Struts与Spring集成测试--转贴
2010-01-20 10:11 1638最近在学习Struts2,进行测试驱动开发,对于struts2 ...
相关推荐
当在某个字段或方法上添加了@Autowired,Spring容器会自动寻找合适的bean进行注入,而无需手动使用`@Resource`或`@Inject`来指定bean的名称。 在IDEA 2020中创建Spring项目并引入Spring Web依赖,我们可以创建几个...
Spring实战之@Autowire注解用法详解 Spring是一个流行的Java框架,提供了许多有用的功能和注解来简化开发过程。@Autowire是Spring框架中一个非常重要的注解,用于自动装配Bean。下面将详细介绍@Autowire注解的用法...
本篇将详细探讨"3Spring使用annotation方式autowire"这一主题,包括注解驱动的自动装配(Autowiring)以及相关的源码分析。 ### 一、注解驱动的自动装配 自动装配是Spring框架的一个核心特性,它允许框架自动管理...
这个项目采取了了在prepare方法中执行注入的方式使bolt在序列化完成后执行注入,绕开了storm的序列化机制 使用这个项目里 你可以通过以下代码做到最基本的注入 @Resource private SentenceCounter counter; public ...
6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...
在 Spring 项目中,多线程 Autowire 注入 null 的问题是一个常见的问题。当我们在多线程中使用 @Autowired 注解时,可能会出现 null 的情况。这是因为多线程是防注入的,容器中的组件不会自动注入到多线程中。 解决...
在Spring框架中,`@Autowired`和`@Resource`注解是两个常见的依赖注入(DI, Dependency Injection)工具,它们都是用来解决组件之间的耦合问题,使得代码更加灵活和可测试。然而,这两个注解在具体使用时有一些关键性...
6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...
本文将详细介绍如何在Spring项目中配置和使用Quartz,帮助开发者更好地理解和掌握这项技术。 #### 二、Quartz简介 Quartz是一个全面的、开放源代码的作业调度框架,它可以被应用在J2EE和J2SE应用程序中,用于处理...
当在字段、setter方法、构造器参数或方法上使用`@Autowired`时,Spring会查找类型匹配的bean并自动注入。若没有找到精确匹配的bean,可以使用`@Qualifier`注解指定特定的bean。 ```java @Service public class ...
在Spring的XML配置文件中,当一个bean定义使用`parent`属性引用另一个bean定义时,它将继承父bean的所有属性,包括初始化方法、属性注入等。这种方式可以实现配置的复用,减少重复代码,提高可维护性。例如,我们...
在Spring的XML配置文件中,可以通过`<beans>`标签的`autowire`属性来全局设置自动装配策略,或者在单个`<bean>`标签中通过`autowire`属性指定某一个bean的自动装配方式。 4. 使用注解进行自动装配 Spring 2.5引入了...
4. **基于注解的自动装配(Annotation-Based Auto-Wiring)**:使用`@Autowired`注解在字段、构造函数、方法或参数级别来指示Spring进行自动装配。默认也是按类型匹配,但可以通过`@Qualifier`注解指定特定的bean。...
本文将详细解析Spring中XML配置文件的十二个最佳实践,主要关注前六个方法。 1. **避免使用自动绑定(Autowiring)** Spring的自动绑定功能允许框架通过类的自省自动注入依赖。虽然可以减少手动配置,但会导致配置...
本文将对 Spring 框架中的常见问题进行详细的解析,涵盖框架的核心概念、依赖注入、AOP技术、动态代理、自动装配等方面。 Spring 是一个开源的IOC和AOP框架,能够简化 JavaEE 开发。Spring 的核心是 IOC(控制反转/...
- default:使用默认方式,可以通过在beans标签中使用default-autowire属性来配置全局的自动注入规则。 - no:不使用自动注入,使用依赖注入。 scope属性用于定义Spring bean的作用域,它决定了Spring容器创建对象...
例如,可以将数据库连接信息写入属性文件,如`database.properties`,然后在Spring配置文件中使用`PropertyPlaceholderConfigurer`引入属性文件。这样,我们就可以在XML配置中使用`${...}`的方式来引用属性值,如`${...
在本篇【Spring框架web项目实战全代码分享】中,我们将深入探讨如何使用Spring框架构建一个Java Web项目。首先,我们需要了解Spring的核心概念,它是一个轻量级的、全面的开源框架,主要用于简化企业级应用的开发。...
通过对给定文件的分析,我们了解了Spring框架中XML配置的基本用法,包括如何配置`ContextLoaderListener`和`ContextLoaderServlet`,以及如何利用自动装配机制来简化依赖注入过程。这些配置对于构建基于Spring的Web...
依赖注入则是实现IoC的一种方式,通过setter方法、构造器或者工厂方法将依赖注入到对象中。 4. IoC容器的作用: - 管理组件的生命周期,如初始化、销毁等。 - 确保组件间的依赖关系正确建立,使得组件之间解耦。 ...