有疑问http://www.bccn.net/Article/kfyy/java/jszl/200610/4511.html
4.让spring完成自动装配
例如:
<bean
id = “mybean”
class = “blog.spring.MyBean”
autowire = “autowire type”
/>
下面是几种autowire type的说明:
● byname : 试图在容器中寻找和需要自动装配的属性名相同的bean或id,如果没有找到相应的bean,则这个属性未被装配上。
● byType : 试图在容器中寻找一个与需要自动装配的属性类型相同的bean或id,如果没有找到,则该属性未被装配上。
● constructor : 试图在容器中寻找与需要自动装配的bean的构造函数参数一致的一个或多个bean,如果没找到则抛出异常。
● autodetect : 首先尝试使用constructor来自动装配,然后再使用byType方式。
从上面可以看出,如果某个bean不手动设置autowire属性,则默认为手动装配。如果需要将所有bean都设置为自动装配时,可以通过在<beans>标签中设置default-autowire属性。<beans>标签是整个xml文档的根,在它下面就是一个个的<bean>。
其中default-autowire的值也有byName,byType,constructor,autodetect四种。
例如配置如下:
<beans default-autowire = “byName”>
...
</beans>
自动装配可能带来不确定性问题。例如使用byType时可能同时发现两个相同的类型,则不知道该采用哪一个。所以可能混合采用自动和手动装配。例如,对某个bean设置为自动装配,而对其某个属性则手动明确的设置其值,例如:
<bean id = “mybean” class = “blog.spring.MyBean”
Autowire = “byType”
>
<property name = “name”>
<ref bean = “myBean1”>
</property>
</bean>
通过这样的配置,对mybean里的name属性进行手动装配,而对除name外的其他属性就进行自动装配。
分享到:
相关推荐
在Spring框架中,自动装配(Auto-Wiring)是一种简化配置的方式,它允许Spring容器自动为Bean提供依赖。这种特性使得开发者无需显式地在XML配置文件中声明Bean之间的依赖关系,从而减少了配置工作量,提高了代码的可...
在本章中,我们将深入探讨Spring框架的核心特性之一——自动装配和方法注入。Spring作为一款广泛应用的Java企业级开发框架,极大地简化了依赖管理,提高了代码的可测试性和可维护性。自动装配和方法注入是Spring实现...
本篇将重点讲解Spring的@Autowired自动装配机制,包括XML配置版和注解版,并深入到源码层面进行解析。 @Autowired是Spring框架中的一个核心注解,用于实现自动装配bean的需求。当我们想要在类中注入某个依赖时,...
Spring提供了多种方式进行属性装配,包括XML配置、基于注解的配置以及自动装配。本篇文章主要关注的是使用注解来完成属性装配的方法。 首先,我们来看`@Autowired`注解,这是Spring提供的核心注解之一,用于自动...
Spring 中自动装配 Bean 的属性 在 Spring 框架中,自动装配 Bean 的属性是非常重要的一部分,今天我们将为大家分享关于在 Spring 中自动装配 Bean 的属性的知识。 首先,Spring 的最基本的能力就是 DI,即依赖...
在Spring Boot中,自动装配是其核心特性之一,它极大地简化了配置,使得开发者能够快速构建应用程序。本文将深入解析Spring Boot自动装配的原理,并探讨starter技术。 首先,我们来看`@Import`注解,它是Spring框架...
本文将深入探讨Spring Bean的继承与自动装配。 首先,让我们了解Bean的基本定义。在Spring配置文件中,`<beans>`元素作为根元素,包含了一系列`<bean>`子元素。每个`<bean>`元素定义了一个Bean实例,它由一个唯一的...
而注解自动装配(Autowired)是Spring IoC容器的一种高级特性,它允许我们通过注解来声明对象之间的依赖,无需手动编写XML配置。现在,我们将深入探讨如何模拟Spring的IoC容器实现注解自动装配。 首先,我们需要...
接着,Servlet可能使用Spring的自动装配特性,将这些模型对象传递给业务层的服务类,服务类再通过SQL语句与数据库交互,完成数据的CRUD操作。在整个过程中,对象自动装配器确保了对象的正确创建和依赖关系的满足,而...
在Spring框架中,注解自动装配(Annotation-based Autowiring)是一种简化依赖注入(Dependency Injection,简称DI)的方式,它允许开发者用注解来声明类的依赖,而无需使用XML配置文件。本教程将深入讲解如何使用...
安装完成后,MyEclipse会增加对Spring项目的识别和支持。 2. **创建Spring项目** 创建一个新的MyEclipse项目,选择“Dynamic Web Project”,并在项目属性中配置为Spring项目。添加Springnature,这样MyEclipse就...
本文主要围绕"Spring源码学习七:web应用自动装配Spring配置文件1"这一主题,详细解析Web环境中Spring的初始化过程。 首先,我们注意到在传统的Java应用程序中,通常使用`ClassPathXmlApplicationContext`手动创建...
2. `@Autowired`注解用于按类型自动装配Bean,如果类型匹配的Bean有多个,可以通过`@Qualifier`指定具体Bean的名称。 3. `@Resource`注解可以按名称自动装配Bean,也可以按类型装配,但按名称是它的首选方式。 4. `@...
在Spring Boot的应用程序启动流程中,自动装配是一个关键特性,它使得开发者无需手动配置bean,而是由Spring Boot自动识别和管理。本节我们将深入探讨自动装配的原理。 首先,Spring Boot的启动是从`run`方法开始的...
使用`@Component`, `@Service`, `@Repository`和`@Controller`等注解标记类为Spring Bean,而`@Autowired`注解用于自动装配依赖。 ```java @Component public class ExampleClass { private Dependency ...
3. **@Autowired注解**:尽管不是条件注解,但可以用来自动装配Bean,简化依赖注入。 4. **@Profile注解**:虽然不是3.x版本的标准特性,但可以通过自定义实现模拟类似的功能,以在不同环境或条件下加载不同的配置...
Spring框架的XML配置是其核心特性之一,它允许开发者声明Bean的定义,管理依赖关系以及配置其他服务。...通过理解不同类型的自动装配和注解的使用,开发者能够更好地控制和管理Spring容器中的Bean依赖关系。
Spring通过组件扫描(Component Scanning)和自动装配(Autowiring)来实现这一目标,使得开发者无需手动配置大部分bean的依赖关系。 首先,我们来看组件扫描。组件扫描允许Spring容器自动发现应用上下文中创建的...
此外,Spring还提供了如`@Resource`注解、`@Value`注解等更多方式来完成集合类型的装配,使得我们可以根据具体需求选择最合适的方法。 总的来说,Spring中集合类型的装配是一个强大的特性,它增强了Spring容器的...