一,spring中使用@Resource 和@Autowired自动装配bean1,spring applicationContext.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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<context:annotation-config />
<bean id="helloWS" class="cn.hz.lly.impl.HelloImpl"/>
<bean id="hello" class=" cn.hz.lly.impl.TestRes" init-method="init"/>
2.java代码
public class TestRes {
@Resource
private IHello helloIml;
public void init(){
helloIml.sayHello("lvzi");
}
}
HelloImpl 略 呵呵。
可以实现自动装配bean了
3,默认情况带有@Resource,@Autowired 的都是必须的spring会自动匹配,找不到则报错
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hello': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [cn.hz.lly.IHello] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, mappedName=, description=, name=, type=class java.lang.Object, authenticationType=CONTAINER)}
可以使用:@Autowired(required=false) 设置,spring找不到匹配的bean时,不会报错。
分享到:
相关推荐
`@Autowired`是Spring框架自带的一个注解,主要用于自动装配bean。它主要基于类型匹配,Spring会尝试找到与目标字段或方法参数类型相同的bean来注入。如果找到多个候选bean,可以通过指定`@Qualifier`来指定特定的...
在Spring框架中,`@Autowired`和`@Resource`都是用于自动装配Bean的重要注解,它们简化了依赖注入的过程,使得代码更加简洁、易于维护。本文将深入探讨这两个注解的使用、区别以及如何在实际开发中应用它们。 首先...
Spring 框架中提供了两个重要的注解,分别是@Resource 和@Autowired,它们都是用于 bean 的自动装配的。了解这两个注解的区别和使用场景是非常重要的。 首先,@Autowired 是 Spring 提供的注解,需要导入 org....
理解这两个注解的使用和区别是掌握Spring框架核心概念的关键。 首先,`@Component`是Spring框架中的一个元注解,它用于标记一个类为Spring管理的Bean。当你在类定义上添加`@Component`时,Spring会自动扫描到这个类...
在使用 @Autowired 注解时,如果在 Spring IOC 容器里面存在多个相同类型的 Bean 实例,那么 Spring 启动的时候,会提示一个错误,大概意思原本只能注入一个单实例 Bean,但是在 IOC 容器里面却发现有多个,导致注入...
`@Autowired`是Spring框架的一部分,它用于自动将依赖对象注入到需要它们的bean中。这个注解基于类型匹配,Spring会尝试找到类型匹配的bean并将其注入到目标字段或方法中。如果存在多个候选bean,可以通过指定`@...
例如,在下面的代码中,我们使用@Autowired将Tiger和Monkey自动装配到Zoo中: ```java public class Zoo { private Tiger tiger; private Monkey monkey; @Autowired public void setTiger(Tiger tiger) { ...
在Spring框架中,注解是实现依赖注入的重要方式,其中包括`@Autowired`和`@Resource`两个常用的注解。它们虽然都可以用来注入依赖,但在实际使用中存在一些区别。 首先,`@Autowired`注解是Spring框架特有的,主要...
@Autowired 是 Spring 框架提供的依赖注入注解,主要支持在 set 方法、field 和构造函数中完成 bean 注入。其注入方式是通过类型查找 bean,即 byType 的,如果存在多个同一类型的 bean,则使用 @Qualifier 来指定...
Spring框架是Java领域中实现DI的典型代表,提供了多种注解来支持这一机制,其中两个常用的注解是`@Resource`和`@Autowired`。虽然它们都可以用来实现依赖注入,但它们的用法和原理有所不同。 首先,`@Resource`注解...
@Autowired是Spring框架中的一个核心注解,用于实现自动装配bean的需求。当我们想要在类中注入某个依赖时,不再需要手动通过setter方法或构造函数进行设置,而是通过@Autowired来自动完成。这种特性极大地提高了代码...
在Spring框架中,自动装配(Auto-Wiring)是一种简化依赖注入(Dependency Injection,DI)配置的方式,它允许Spring容器自动管理Bean之间的依赖关系。本文将深入探讨如何通过注解(Annotation)和`@Resource`来实现...
如果同时存在`@Autowired`和`@Resource`,Spring会优先考虑`@Resource`,因为它提供了更明确的装配依据(bean的名字)。 ### 配置和选择 在某些复杂场景下,可能有多个同类型的bean,这时可以使用`@Qualifier`注解...
在Spring框架中,`@Resource`注解是一个重要的依赖注入(DI)工具,它用于标记字段、方法或方法参数,以便Spring容器能够自动装配所需的bean。这篇文章将深入探讨`@Resource`注解的工作原理,以及它如何与Spring的IoC...
在Spring框架中,`@Autowired`注解是用于自动装配bean的一种方式,它可以根据类型匹配找到合适的bean进行注入。然而,当存在多个相同类型的bean时,Spring可能无法确定应该注入哪一个。这时,`@Qualifier`注解就派上...
首先,`@Resource`注解的主要目的是为了自动装配bean,它的基本语法是在字段或方法上使用,如: ```java @Resource private MyService myService; ``` 在上述代码中,Spring容器会根据`MyService`类型的bean定义在...
本篇将深入探讨自动装配的概念、类型以及如何在Spring应用中使用。 自动装配是Spring IoC(Inversion of Control,控制反转)的一种体现,它简化了bean之间的依赖关系管理。通过自动装配,Spring容器能够根据bean的...
手工装配可以通过 xml 配置文件或 Java 代码中使用 @Autowired 或 @Resource 注解方式进行装配。 @Resource 注解是 Spring 框架中的一种依赖注入方式,用于标注需要依赖注入的字段或 setter 方法。通过 @Resource ...
在实际开发中,我们通常会在服务层或DAO层使用`@Service`和`@Repository`,并在控制器层使用`@Controller`,同时在这些类中使用`@Autowired`来注入其他bean。对于特定的依赖,如JDBC的`DataSource`,我们可能会选择...