`
小网客
  • 浏览: 1240988 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring 的 @Autowired注解

阅读更多

首先查看 @Autowired为何

 

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.METHOD})
public @interface Autowired {

	/**
	 * Declares whether the annotated dependency is required.
	 * <p>Defaults to <code>true</code>.
	 */
	boolean required() default true;

}

 通过源码我们知道他是spring的一个注解接口,有一个方法

 

boolean required() default true;

 

 使用的时候必须满足如下条件:

1.spring的配置文件必须加入能够识别注解的东东

org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor

或者使用xml标注如下(注意版本)

xmlns:context

<context:component-scan base-package="org.javaeye.*"/>

支持4种注解分别为@Component, @Serivce, @Controller, @Repository

@Controller:控制层

@Serivce:业务逻辑层

@Repository:持久层

2.有注解存在

 

 

 @Autowired
    UserService userService;

 3.有对应的setter方法

 

 public void setUserService(UserService userService) {
        this.userService = userService;
    }

 4.如果是接口或者抽象类的话那么需要实现类唯一,否则创建实例出错

 

org.springframework.beans.factory.NoSuchBeanDefinitionException: 
No unique bean of type 
[com.sohu.suc.splatform.service.UserService] is defined: 
expected single matching bean but found 2:
 [userServiceHibernateImpl, userServiceImp]
 

 5.接口的实现必须让spring认识,以bean的方式配置或者加注解让spring认识

 

@Service
public class UserServiceImpl implements UserService {
。。。。。。。
}

 综上可得spring只管理他认识的bean,有2中方式让spring知道bean的存在

1.注解方式

2.bean配置

 

 

1
0
分享到:
评论

相关推荐

    通过@Autowired注解注入bean的顺序,以及@bean注入.rar

    4. **@Qualifier注解**:如果还有多个bean,且没有`@Primary`,Spring会检查`@Autowired`注解是否带有`@Qualifier`,并根据指定的bean名称进一步筛选。 5. **索引**:如果以上方式都无法确定唯一bean,那么可以为...

    (转)Spring中@Autowired注解和@Resource注解的区别

    在Spring框架中,`@Autowired`和`@Resource`注解是两个常见的依赖注入(DI, Dependency Injection)工具,它们都是用来解决组件之间的耦合问题,使得代码更加灵活和可测试。然而,这两个注解在具体使用时有一些关键性...

    Spring@Autowired注解与自动装配.rar

    - **@Autowired注解的可选性**:使用`required`属性控制是否必须注入。默认为`true`,表示必须注入,否则抛出异常;设为`false`则允许不注入。 ```java @Autowired(required = false) private MyService ...

    Spring使用@Autowired注解自动装配

    在Spring框架中,`@Autowired`注解是一个关键特性,用于简化依赖注入的过程。依赖注入是一种设计模式,它允许我们解耦代码,提高模块的可测试性和可维护性。在这个主题中,我们将深入探讨`@Autowired`的工作原理、...

    Spring Ioc源码分析系列--@Autowired注解的实现原理.doc

    Spring Ioc源码分析系列--@Autowired注解的实现原理 @ Автоwired注解是 Spring Framework 中的一个重要组件,它提供了自动装配的功能,能够将 Bean 之间的依赖关系自动解析和注入。今天,我们将深入探讨 @...

    @Autowired 注解是如何实现的?(csdn)————程序.pdf

    【@Autowired注解详解及其实现原理】 在Spring框架中,`@Autowired`注解是核心的依赖注入(Dependency Injection,DI)工具,它允许开发者自动地将Bean实例注入到需要的地方,无需显式地通过setter方法或构造函数来...

    基于Spring@Autowired注解与自动装配详谈

    "基于Spring@Autowired注解与自动装配详谈" 在Spring框架中,自动装配是指容器自动将Bean依赖项装配到组件中的一种机制。这种机制可以简化应用程序的配置和开发。Spring提供了多种方式来实现自动装配,其中之一就是...

    Spring注解@Resource和@Autowired.doc

    Spring 注解@Resource 和@Autowired Spring 框架中提供了两个重要的注解,分别是@Resource 和@Autowired,它们都是用于 bean 的自动装配的。了解这两个注解的区别和使用场景是非常重要的。 首先,@Autowired 是 ...

    Spring @Autowired

    在Java的Spring框架中,`@Autowired`是一个关键的依赖注入(Dependency Injection,简称DI)注解,它允许开发者自动装配Bean的依赖,无需手动设置属性或者调用构造函数。这个注解是Spring框架的核心特性之一,极大地...

    Spring使用@Autowired为抽象父类注入依赖代码实例

    Spring框架中,使用@Autowired注解可以将依赖项注入到Bean中,但是当我们需要将依赖项注入到抽象父类时,会遇到一些问题。如果我们直接使用@Autowired注解在抽象父类中,可能不会生效,因为抽象父类不能被实例化。...

    SSH笔记-通过@Autowired配置注入关系

    在Spring框架中,`@Autowired`注解是一个关键特性,用于自动装配Bean的依赖。它极大地简化了传统XML配置中的bean依赖注入过程。本笔记将深入探讨如何在Spring 4中利用`@Autowired`注解配置注入关系,以及它与前一篇...

    spring autowired注解完整版

    @Autowired 注解是 Spring 框架中的一个重要特性,它出现在 Spring 2.5 版本中,用于简化依赖注入(Dependency Injection,简称 DI)的过程。DI 是一种设计模式,允许对象之间的依赖关系在运行时自动解决,使得代码...

    Spring的Autowired自动装配(XML版本+Annotation版本+源码+解析)

    随着Spring的发展,@Autowired注解应运而生,这是Annotation版本的自动装配。它允许开发者在类的字段、方法或构造器上直接声明依赖,大大减少了XML配置的量。例如: ```java @Service public class UserService { ...

    【Java面试】@Resource 和 @Autowired 的区别.doc

    @Autowired 是 Spring 定义的注解,@Resource 是 JSR 250 规范里面定义的注解,而 Spring 对 JSR 250 规范提供了支持。@Autowired 如果需要支持 name 匹配,就需要配合 @Primary 或者 @Qualifier 来实现。 在实际...

    学习Spring笔记_Annotation(注解)_Autowired_Qualifier

    Spring的核心特性之一是使用注解来简化配置,其中`@Autowired`和`@Qualifier`是两个关键的注解,它们在自动装配Bean时发挥着重要作用。这篇学习Spring笔记将深入探讨这两个注解的用法、原理以及它们在实际开发中的...

    详解Spring @Autowired 注入小技巧

    在 Spring 框架中,@Autowired 注解是用来实现自动依赖注入的。它可以根据类型(Type)进行自动注入,并且默认注入的 bean 为单例(SingleTon)的。下面我们来详解一些 @Autowired 注解的小技巧。 一、同一类型注入...

    使用@Autowired注解警告Field injection is not recommended的解决

    在Spring框架中,`@Autowired`注解用于自动装配bean,简化了依赖注入的过程。然而,IDEA在某些情况下会发出“Field injection is not recommended”的警告。这是因为直接在字段上使用`@Autowired`虽然简洁,但并不...

    12 @Autowired是如何工作的?-Spring注解源码深度揭秘-慕课专栏1

    在Spring框架中,`@Autowired`注解是一个关键的依赖注入(DI)工具,它极大地简化了组件之间的关联。本文将深入探讨`@Autowired`的工作原理以及其在Spring中的实现方式。 首先,`@Autowired`的基本作用是自动装配Bean...

    Spring @compenent注解详解

    使用`@Autowired`注解可以实现依赖注入,Spring会自动寻找匹配类型的Bean进行注入。也可以配合`@Qualifier`注解来精确指定要注入的Bean。 7. **初始化与销毁方法** `@PostConstruct`和`@PreDestroy`注解分别标识...

    Spring In Action 使用@Autowired 和@ Resource 自动装配Bean

    在Spring框架中,`@Autowired`和`@Resource`都是用于自动装配Bean的重要注解,它们简化了依赖注入的过程,使得代码更加简洁、易于维护。本文将深入探讨这两个注解的使用、区别以及如何在实际开发中应用它们。 首先...

Global site tag (gtag.js) - Google Analytics