返回顶部
首页 > 资讯 > 后端开发 > Python >Spring自动装配@Autowired教程
  • 437
分享到

Spring自动装配@Autowired教程

Spring自动装配@AutowiredSpring自动装配Spring@Autowired 2023-01-28 06:01:14 437人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

今天来跟大家聊聊简单聊聊@Autowired,Autowired翻译过来为自动装配,也就是自动给Bean对象的属性赋值。 @Target({ElementType.CONSTRUCT

今天来跟大家聊聊简单聊聊@Autowired,Autowired翻译过来为自动装配,也就是自动给Bean对象的属性赋值。

@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, 
         ElementType.PARAMETER, ElementType.FIELD, 
         ElementType.ANNOTATioN_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Autowired {
	
	boolean required() default true;
}

以上是@Autowired的定义,重点看 @Target,我们发现@Autowired可以写在:

  • ElementType.CONSTRUCTOR:表示可以写在构造方法上
  • ElementType.METHOD:表示可以写在普通方法上
  • ElementType.PARAMETER:表示可以写在方法参数前
  • ElementType.FIELD:表示可以写在属性上
  • ElementType.ANNOTATION_TYPE:表示可以写在其他注解上

写在构造方法上

对于@Autowired写在构造方法上的情况,跟spring选择构造方法的逻辑有关,一个类中是不是有多个构造方法,是不是加了@Autowired注解,是不是有默认构造方法,跟构造方法参数类型和个数都有关系,后面单独来介绍。

写在普通方法上

对于@Autowired写在普通方法上的情况,我们通常写的setter方法其实就是一个普通的setter方法,那非setter方法上加@Autowired会有作用吗?

比如:

@Component
public class UserService {
	@Autowired
	public void test(OrderService orderService) {
		System.out.println(orderService);
	}
}

这个test方法会被Spring自动调用到,并且能打印出OrderService对应的Bean对象。

写在方法参数前

把@Autowired写在参数前没有多大意义,只在spring-test中有去处理这种情况,源码注释原文:

Although @Autowired can technically be declared on individual method or constructor parameters since Spring Framework 5.0, most parts of the framework ignore such declarations. The only part of the core Spring Framework that actively supports autowired parameters is the JUnit Jupiter support in the spring-test module

写在属性上

这种情况不用多说了,值得注意的是,默认情况下,因为@Autowired中的required属性为true,表示强制依赖,如果更加某个属性找不到所依赖的Bean是不会赋null值的,而是会报错,如果把required属性设置为false,则会赋null值。

写在其他注解上

比如我们可以自定义要给注解:

@Autowired
@Retention(RetentionPolicy.RUNTIME)
public @interface HoellerAutowired {
}

@HoellerAutowired和@Autowired是等价的,能用@Autowired的地方都可以用@HoellerAutowired代替。

到此这篇关于Spring自动装配@Autowired教程的文章就介绍到这了,更多相关Spring @Autowired内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Spring自动装配@Autowired教程

本文链接: https://lsjlt.com/news/178212.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Spring自动装配@Autowired教程
    今天来跟大家聊聊简单聊聊@Autowired,Autowired翻译过来为自动装配,也就是自动给Bean对象的属性赋值。 @Target({ElementType.CONSTRUCT...
    99+
    2023-01-28
    Spring自动装配@Autowired Spring自动装配 Spring @Autowired
  • 怎么用Spring @Autowired实现自动装配
    本篇内容主要讲解“怎么用Spring @Autowired实现自动装配”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Spring @Autowired实现自动装配”吧!...
    99+
    2023-06-22
  • Spring使用@Autowired注解实现自动装配方式
    目录Spring支持注解配置引入注解依赖启用注解使用@Autowired注解实现自动装配1、IOC容器配置2、实体类使用@Autowired注解注入属性3、测试结果@Autowire...
    99+
    2024-04-02
  • Spring@Autowired注解与自动装配的示例分析
    这篇文章主要介绍了Spring@Autowired注解与自动装配的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1 配置文件的方法我们编写spring 框架的代码时候...
    99+
    2023-05-31
    spring @autowired
  • Spring框架学习之Spring @Autowired实现自动装配的代码
    学习自动装配之前,讲一个概念:Component,即组件。组件你也可以理解为bean对象,只不过通常Component的组成会稍微复杂一些,比如,一个组件里面会引用一个或多个别的be...
    99+
    2024-04-02
  • Spring Boot实战教程之自动配置详解
    前言大家应该都有所了解,随着Ruby、Groovy等动态语言的流行,相比较之下Java的开发显得格外笨重。繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大等问题一直被人们所诟病。随着Spring家族中的新星Spring B...
    99+
    2023-05-31
    springboot 自动配置 之自
  • @Autowired自动装配,@Bean注入@Primary,@Qualifier优先级讲解
    目录Autowired自动装配第一种情况第二种情况第三种情况第四种情况总结@Autowired 取值app.getBean()@Primary 优先Autowired自动装配 spr...
    99+
    2024-04-02
  • Spring如何实现自动装配
    这篇文章将为大家详细讲解有关Spring如何实现自动装配,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Spring之自动装配,所谓自动装配,从字面解读,我想应该不难理解吧(当然不是诱导读者去咬文嚼字)。那...
    99+
    2023-06-17
  • 一篇文章教带你了解Java Spring之自动装配
    目录在Spring中有三种装配的方式:1.Bean的自动装配1.1 autowire="byName" 实现自动装配1.2 autowire="byType" 实现自动装配2.注解实...
    99+
    2024-04-02
  • Spring Boot自动装配原理(易懂)
    Spring Boot的自动装配原理(易懂) 熟练使用Spring Boot那么自动装配原理的掌握是必不可少的 文章目录 Spring Boot的自动装配原理(易懂)一、自动装配是什么二、启动类注解流程关系分析1.首先展示...
    99+
    2023-08-19
    java spring spring boot 后端
  • Spring基于xml实现自动装配流程详解
    自动装配: 根据指定的策略,在IOC容器中匹配某一个bean,自动为指定的bean中所依赖的类类型或接口类 型属性赋值 ①场景模拟 创建类 UserController public...
    99+
    2023-01-03
    Spring基于xml实现自动装配 Spring自动装配
  • spring的自动装配原理是什么
    Spring的自动装配原理是通过Spring容器扫描应用程序中的组件,并根据一些规则自动将这些组件进行装配。实际上,Spring容器...
    99+
    2023-09-27
    spring
  • Spring Bean自动装配入门到精通
    目录Bean的自动装配byNamebyType使用注解Bean的自动装配 自动装配说明 自动装配是使用spring满足bean依赖的一种方法spring会在应用上下文中为某个bean...
    99+
    2022-11-13
    Spring Bean自动装配 Spring 自动装配
  • spring IOC容器的Bean管理XML自动装配过程
    目录什么是自动装配?自动装配过程1. 创建 2 个类2. 配置文件3. 测试方法什么是自动装配? 在之前的内容中,每给属性注入值都要一个个的用 property 标签来完成,比如: ...
    99+
    2024-04-02
  • 使用Spring由构造方法自动装配
    Spring由构造方法自动装配 在Spring中,可以使用“通过构造自动装配”,实际上是按构造函数的参数 类型自动装配。 这意味着,如果一个bean的数据类型与其他bean的构造器参...
    99+
    2024-04-02
  • Spring框架基于xml实现自动装配流程详解
    目录一、基于xml的自动装配之场景模拟:二、基于xml的自动装配之byType三、基于xml的自动装配之byName四、基于注解管理bean之功能分析五、基于注解管理bean之扫描组...
    99+
    2022-11-13
    Spring自动装配 Spring基于XML自动装配
  • Spring装配Bean之如何实现组件扫描和自动装配
    这篇文章给大家分享的是有关Spring装配Bean之如何实现组件扫描和自动装配的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Spring从两个角度来实现自动化装配:组件扫描:Spring会自动发现应用上下文中所创...
    99+
    2023-05-31
    spring bean
  • Spring使用注解实现Bean的自动装配
    目录一、利用注解方式注入属性二、@Autowired三、@Qualifier四、@Resource总结一、利用注解方式注入属性 <xml version="1.0" enco...
    99+
    2024-04-02
  • Springboot自动装配
    一.自动装配 自动装配是springboot的核心,一般提到自动装配就会和springboot联系在一起。实际上 Spring Framework 早就实现了这个功能。Spring Boot 只是在其基础上,通过 SPI 的方式,做了进...
    99+
    2023-09-14
    spring boot java 自动装配
  • mysql8.0.11 winx64手动安装配置教程
    首先跟大家唠一唠家常,随着MySQL迅速的更新,MySQL突飞猛进已经更新到了8.0版本,那么它和我们之前用的5.X版本有什么明显的区别那?首先给大家看下MySQL5.X自带表的查询速度 之后献上...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作