官方网站营销网站开发获取用户微信号登录

news/2025/9/22 19:18:40/文章来源:
官方网站营销,网站开发获取用户微信号登录,制作一个软件,郑州地方网络推广网站自动装配(autowiring)有助于减少甚至消除配置property元素和constructor-arg元素#xff0c;让Spring自动识别如何装配Bean的依赖关系。 自动检测(autodiscovery)比自动装配更进了一步#xff0c;让Spring能够自动识别哪些类需要被配置成Spring Bean#xf…      自动装配(autowiring)有助于减少甚至消除配置property元素和constructor-arg元素让Spring自动识别如何装配Bean的依赖关系。       自动检测(autodiscovery)比自动装配更进了一步让Spring能够自动识别哪些类需要被配置成Spring Bean从而减少对bean元素的使用。 1.自动装配属性      1.1  4种类型的自动装配       ● byName——把与Bean的属性具有相同名字(或者ID)的其他Bean自动装配到Bean的对应属性中。如果没有跟属性的名字相匹配的Bean则该属性不进行装配。       ● byType——把与Bean的属性具有相同类型的其他Bean自动装配到Bean的对应属性中。如果没有跟属性的类型相匹配的Bean则该属性不被装配。       ● constructor——把与Bean的构造器入参具有相同类型的其他Bean自动装配到Bean构造器的对应入参中。       ● autodetect——首先尝试使用constructor进行自动装配。如果失败在尝试使用byType进行自动装配。              byName自动装配: bean id kenny class com.ouc.test.springs.Instruments autowire byName property name song value bells / /bean     为属性自动装配ID与该属性的名字相同的Bean。           byType自动装配:     如果Spring寻找到多个Bean它们的类型与自动装配的属性类型都相匹配Spring不会猜测哪一个Bean更适合自动装配而是会抛出异常。     可以为自动装配标识一个首选Bean或者可以取消某个Bean自动装配的候选资格。为了使用primary属性不得不将非首选Bean的primary属性设置为false。 bean id saxophone class com.ouc.test.springs.Saxophone primary false /     primary属性仅对标识首选Bean有意义。     如果希望排除某些Bean可以设置这些Bean的autowire-candidate属性为false。 bean id saxophone class com.ouc.test.springs.Saxophone autowire-candidate false /     constructor自动装配:     如果要通过构造器注入来配置Bean可以移除constructor-arg元素由Spring在应用上下文中自动选择Bean注入到构造器入参中。 bean id saxophone classcom.ouc.springs.test.Saxophone autowire constructor /     最佳自动装配: bean id saxophone classcom.ouc.springs.test.Saxophone autowire autodetect /    1.2 默认自动装配 ?xml version1.0 encodingUTF-8?beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.1.xsddefault-autowirebyType /beans 2 .使用注解装配     Spring容器默认禁用注解装配。     启用注解装配最简单的方式是使用Spring的context命名空间配置中的context:annotation-config元素。     Spring 3 支持几种不同的用于自动装配的注解      ● Spring自带的Autowired注解      ● JSR-330的Inject注解      ● JSR-250的Resource注解。         2.1 使用Autowired Autowiredpublic void setInstrument(Instrument instrument){this.instrument instrument;}      Spring会尝试对该方法执行byType自动装配可以使用Autowired标注需要自动装配Bean引用的任意方法。      可以使用Autowired注解直接标注属性并删除setter方法 Autowiredprivate Instrument instrument;     1)可选的自动装配:         默认情况下Autowired所标注的属性或参数必须是可以装配的。如果没有Bean可以装配到Autowired所标注的属性或参数中自动装配就会失败(抛出NoSuchBeanDefinitionException).         可以通过设置Autowired的required属性为false来配置自动装配是可选的。 Autowired(requiredfalse)private Instrument instrument;      2)限定歧义性的依赖     Qualifier注解缩小了自动装配挑选候选Bean的范围通过指定Bean的ID把选择范围缩小到只剩下一个Bean。 AutowiredQualifier(guitar)private Instrument instrument;      3)创建自定义的限定器(Qualifier) import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import org.springframework.beans.factory.annotation.Qualifier;Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.TYPE})Retention(RetentionPolicy.RUNTIME)Qualifierpublic interface StringedInstrument{}   2.2 借助Inject实现基于标准的自动装配 Injectprivate Instrument instrument;      Inject没有required属性。      限定Inject所标注的属性。 InjectNamed(guitar)private Instrument instrument;     Named通过Bean的ID来标识可选择的BeanNamed实际上是一个使用Qualifier注解所标注的注解。     创建自定义的JSR-330 Qualifier import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import javax.inject.Qualifier;Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.TYPE})Retention(RetentionPolicy.RUNTIME)Qualifierpublic interface StringedInstrument{}    2.3 在注解注入中使用表达式 Value(#{systemProperties.myFavoriteSong})private String song; 3.自动检测Bean      使用context:component-scan元素配置自动检测。 ?xml version1.0 encodingUTF-8?beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/beans/spring-context-3.1.xsd context:component-scan base-packagecom.ouc.springs.test /context:component-scan/beans     3.1为自动检测标注Bean      默认情况下context:component-scan查找使用构造型(stereotype)注解所标注的类这些特殊的注解如下        Component——通用的构造型注解标识该类为Spring组件。        Controller——标识将该类定义为Spring MVC Controller。        Repository——标识将该类定义为数据仓库。        Service——标识将该类定义为服务。         使用Component标注的任意自定义注解。    3.2 过滤组件扫描     通过为context:component-scan配置context:include-filter和context:exclude-filter子元素可以随意调整扫描行为。 context:component-scan base-packagecom.ouc.springs.test context:include-filter typeassignable expressioncom.ouc.springs.tst.Instrument /context:exclude-filter typeannotation expressioncom.ouc.springs.tst.SkipIt / /context:component-scan     4.使用Spring基于Java的配置     4.1 定义一个配置类 import org.springframework.context.annotation.Configuration;Configurationpublic class SpringIdolConfig{}     Configuration注解会作为一个标识告知Spring:这个类将包含一个或多个Spring Bean的定义。        4.2 声明一个简单的Bean Beanpublic Performer duke(){return new Juggler();}       Bean告知Spring这个方法将返回一个对象该对象应该被注册为Spring应用上下文中的一个Bean方法名将作为该Bean的ID。转载于:https://www.cnblogs.com/wp5719/p/5136177.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910102.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实战:Android 自定义菊花加载框(带超时自动消失) - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

公司英文网站多少钱WordPress极品主题

1背景 昨天,一朋友向我咨询Sybase ASE中定长字符串类型的行为,说他们的客户反映,同样的char类型的数据,通过jdbc来查,Sybase库不会带空格,而PostgreSQL会带。是不是这样的?他是PostgreSQL的专业大拿,但因为他手头没有现成的Sybase ASE环境,刚好我手上有,便于一试。 …

代码中的善意:构建人性化的软件开发文化

本文探讨软件开发中人性化沟通的重要性,强调代码审查时应关注代码质量而非人身攻击,通过具体对话示例展示如何以建设性方式提供反馈,最终实现更好的团队协作与软件质量。代码中的善意 软件开发从根本上说是关于人的…

超级恶心的题面 [USACO21OPEN] Portals G

这个东西我自己也不知道怎么精简,所以直接贴原题题面了。 题意 Bessie 位于一个由 \(N\) 个编号为 \(1\dots N\) 的结点以及 \(2N\) 个编号为 \(1\cdots 2N\) 的传送门所组成的网络中。每个传送门连接两个不同的结点 …

海口省建设厅网站广告拍摄制作公司

有这个想法的初衷喜欢电子和DIY硬件的朋友对稚晖君应该都不陌生,他定期都会分享一些自己做的好玩的硬件,他之前做了一个ElectronBot桌面机器人我就很感兴趣,所以就自己也做了一个。起初我只是自己开发了一个叫电子脑壳的上位机软件&#xff0…

服务类网站建设网站关闭了域名备案

目录 1.注册中心 1.1.nacos注册中心 1.2. 微服务注册和拉取注册中心的内容 2.3.修改订单微服务的代码 3.负载均衡组件 3.1.什么是负载均衡 3.2.什么是Ribbon 3.3.Ribbon 的主要作用 3.4.Ribbon提供的负载均衡策略 4.openfeign完成服务调用 4.1.什么是OpenFeign 4.2…

建设宣传网站的必要性建设商城网站公司吗

在机器人技术日新月异的今天,舵机作为机器人的核心部件之一,扮演着至关重要的角色。它的性能直接关系到机器人的运动控制、稳定性以及精度等方面。那么,在选择和使用机器人舵机时,我们需要关注哪些关键要素呢?本文将为…

北京市住房城乡建设门户网站温岭网络推广公司

mySelectDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

成立网站要什么手续城乡建设和住房建设官网

从2016年的3月份开始到现在,对于Android文档的翻译已经进行了两个月的时间。虽然数量还不及总篇数的一半,但是经过一番整理,发现翻译的文章还不少,目前为止已经有56篇了。这个过程也陆陆续续的坚持了下来。现在回头看刚开始翻译的…

网站缺陷和优化的例子中学加强校园网站内容建设

输入两个整数,求他们的最大公约数: 如果我们不用辗转相除法的话,两个整数的最大公约数,我们就可以定义一个整数为两个整数中最小的那个数,然后两个整数一起除我们新定义的整数,如果都除尽了,这…

怎么搭建局域网网站隐私页 wordpress

【0】README 0.1) 本文描述转自 core java volume 1, 源代码为原创,旨在理解 java线程——什么是线程? 的相关知识; 0.2)线程定义:一个程序可以执行多个任务,每一个任务成为线程&a…

崇左做网站公司如何建设公司的网站首页

作者:Erik Engheim译者:冬雨整理:陈思20 世纪 90 年代末,RISC 和 CISC 爆发了一场大战,自那以后,大家却说 RISC 和 CISC 的区别没那么重要了了。许多人表示,指令集也就那么回事,对 C…

如何隐藏一个元素

【常见方法对比】方法是否占据空间是否可交互是否触发重绘/回流典型场景display:none ❌ 不占空间 ❌ 不可交互 回流+重绘 完全移除元素(菜单切换、Tab 切换)visibility:hidden ✅ 占空间 ❌ 不可交互 重绘 保留布局…

昆仑通态触摸屏保存参数到内部存储器并读取的方法成都控制器开发提供

1、 背景在日常的人机界面开发中,有时需要直接在屏幕上写程序进行一下计算换算需要用到一些参数,这些参数需要由操作员设置、掉电不丢失地保存、并在下一次开机时内自动读取这些参数,那么怎么做呢?本文介绍昆仑通态…

使用reCAPTCHA提升WordPress网站安全性 - 指南

使用reCAPTCHA提升WordPress网站安全性 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &q…

软工9.22

今天学了很多,开发软件就是偷懒,怎么做简单,找到最快的方法,挣最多的钱,花最少的力,需要学的还很多。

惠州网站建设企业wordpress主题文章形式

迭代器模式是一种行为型设计模式,它提供了一种统一的方式来遍历集合中的元素,而无需暴露集合的内部结构。在本文中,我们将深入探讨迭代器模式的实现和应用。 在软件开发中,集合是一种常见的数据结构,用于存储和管理一…

网站导航html源码中国优秀设计网站

本小节介绍Stage模型的两种应用组件如何启动FA模型的PageAbility组件。 UIAbility启动PageAbility UIAbility启动PageAbility和UIAbility启动UIAbility的方式完全相同。 说明: 需注意FA模型中abilityName由bundleName AbilityName组成,具体见示例。 i…

杭州萧山做网站WordPress 列表如何修改成图片

数学统计在我们的程序当中特别是数据分析当中是必不可少的一部分,本文就来介绍一下 NumPy 常见的统计函数。最大值与最小值numpy.amin()用于计算数组中的元素沿指定轴的最小值。可以通过 axis 参数传入坐标轴来指定统计的轴,当指定 axis 时,a…

网站服务器 内容更新帮公司做网站

WordPress作为世界上最受欢迎的内容管理系统之一,拥有庞大的插件生态系统,为用户提供了丰富的功能扩展。在内容创作和SEO优化方面,有一类特殊的插件是自动生成原创文章并自动发布到WordPress站点的工具。这些插件能够帮助用户节省时间和精力&…