返回顶部
首页 > 资讯 > 精选 >Spring的Xml和JavaConfig扩展哪个比较好
  • 377
分享到

Spring的Xml和JavaConfig扩展哪个比较好

2023-06-15 05:06:49 377人浏览 独家记忆
摘要

小编给大家分享一下spring的Xml和JavaConfig扩展哪个比较好,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaConfig 配置扩展从Sprin

小编给大家分享一下spring的Xml和JavaConfig扩展哪个比较好,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

JavaConfig 配置扩展

从Spring3.0开始Spring提供了JavaConfig的方式可以用来代替以前XML的这种方式,原来在XML配置里的都可以通过注解来一一替换实现。主要通过@Configuration,@Bean, @Import,和@DependsOn这几个注解来搭配实现的。这种方式也是SpringBoot所使用的。

@Configuration

@Configuration只能标记在类上,表示该类为JavaConfig类,使其可以被Spring ioc容器扫描识别并创建Bean加入到容器中。@Configuration类就相当于以往的一个xml文件。下面我们看一个官网提供的例子:

@Configurationpublic class AppConfig {    @Bean    public MyService myService() {        return new MyServiceImpl();    }

这个定义的JavaConfig就相当于原来如下XML的配置:

<beans>    <bean id="myService" class="cn.javajr.services.MyServiceImpl"/></beans>

@Bean

@Bean只能被标记在方法上,表示该方法返回一个Spring Bean,可以被IOC容器托管,相当于以前在xml文件中写的元素。

  1. name:指定一个或者多个bean的名字,当没有设置name时,Spring容器会默认将@Bean方法名作为bean name,当设置了name后,就不会再使用方法名,同时设置多个name时,除第一个name外,其他的都会作为bean的别名。相当于xml配置中的name属性。

  2. initMethod:指定容器在初始化完bean后调用的方法。相当于xml配置中的init-method属性。

  3. destroyMethod:指定在容器在销毁bean前调用的方法。相当于xml配置中的 destroy-method。

  4. autowire:指定bean在自动装配时依赖注入使用的策略,取值可以参考Enum类Autowire 的三个常量:Autowire.BY_NAME,Autowire.BY_TYPE,Autowire.NO。

@Import

XML配置中的标签,基于JavaConfig提供了@Import来组合模块化的配置类,使用方式如下所示:

@Configuration()  @Import({ApplicationContextConfig.class})  public class ApplicationContextConfig {

上面就比较简单的介绍了几种通过JavaConfig注解来替换XML形式的注解,使用起来还是非常简单的,如果你有对以前的XML配置文件都比较了解的话,使用JavaConfig就更加简单方便了。

dubbo的JavaConfig

上篇文章我们介绍了dubbo通过XML的方式自定义扩展,今天我们就接着看看dubbo是如何通过JavaConfig来替代XML形式的扩展的。
我们看看dubbo的服务提供者是如何通过注解来实现的

@Configuration@EnableDubbo(scanBasePackages = "org.apache.dubbo.samples.annotation.impl")@PropertySource("classpath:/spring/dubbo-provider.properties")static class ProviderConfiguration {}

@Configuration这个注解我们上面已经介绍过了,我们重点看下@EnableDubbo这个注解
@EnableDubbo 其实又是@EnableDubboConfig @DubboComponentScan是通过这两个组合注解来实现的,
@EnableDubboConfig注解实现如下:

@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Inherited@Documented@Import(DubboConfiGConfigurationReGIStrar.class)public @interface EnableDubboConfig {

这个注解使用了@Import(DubboConfigConfigurationRegistrar.class) 所以Spring 在处理
@EnableDubboConfig 注解 的时候就会去实例化DubboConfigConfigurationRegistrar
并且调用它的registerBeanDefinitions方法,这个方法主要是对propties文件进行解析并根据不同的配置
项生成对应类型的Bean对象。

总结

  • 通过基于XML和基于Java的配置扩展,可以使用户通过Spring使用我们研发的组件,提供很好的易用性。

  • 虽然现在大多数都是采用JavaConfig这种方式了,但是还是有人会比较喜欢xml这种方式

  • xml可以让配置集中化,所有的组件并不是分散的,因此使你对beans有一个很好的概览,比如mybais配置文件、Spingmvc配置文件,都放在一起,如果你需要分割文件,Spring可以帮你实现。然后(Spring)会通过内部标签进行重新组合或者外部上下文文件进行聚合。

  • xml和JavaConfig 当然也是可以混合使用的,至于使用哪种方式还是看个人的编程习惯,没有哪种方式是绝对的好,各有千秋。

以上是“Spring的Xml和JavaConfig扩展哪个比较好”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Spring的Xml和JavaConfig扩展哪个比较好

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

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

猜你喜欢
  • Spring的Xml和JavaConfig扩展哪个比较好
    小编给大家分享一下Spring的Xml和JavaConfig扩展哪个比较好,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaConfig 配置扩展从Sprin...
    99+
    2023-06-15
  • Spring的Xml和JavaConfig 扩展哪个好用
    引言 上一篇文章我们有怎么介绍到如何通过XML的形式来定义Spring的扩展《Spring面试高频题如何:自定义XML schema 扩展》,好多人都在吐槽现在都什么年代了,xml还...
    99+
    2024-04-02
  • mssql和mysql哪个比较好用
    这篇文章将为大家详细讲解有关mssql和mysql哪个比较好用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MySQL和MSSQL各有各的优缺点,要根据项目实际情况来选择...
    99+
    2024-04-02
  • C语言和Python哪个比较好
    这篇文章主要讲解了“C语言和Python哪个比较好”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言和Python哪个比较好”吧!编程语言 发展进程 学哪...
    99+
    2024-04-02
  • debian和ubuntu哪一个比较好用
    这篇文章主要讲解了“debian和ubuntu哪一个比较好用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“debian和ubuntu哪一个比较好用”吧!早在Ubuntu问世之前,Debian...
    99+
    2023-06-13
  • php和Java先学哪个比较好
    今天小编给大家分享一下php和Java先学哪个比较好的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、php与Java的语法...
    99+
    2023-06-27
  • PHP DateTime 扩展的比较器:轻松比较和操作时间值
    比较操作符 PHP 提供了一系列比较操作符,可用于比较 DateTime 对象: 等于 (==):如果两个 DateTime 对象表示相同的时间点,则返回 true。 不等于 (!=):如果两个 DateTime 对象不表示相同的时间点...
    99+
    2024-04-02
  • Apache HTTP和Nginx引擎哪个比较好
    今天小编给大家分享一下Apache HTTP和Nginx引擎哪个比较好的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。HTTP...
    99+
    2023-06-27
  • oracle数据库和mysql哪个比较好
    oracle数据库和mysql是热门选择,适合取决于特定需求。oracle提供更全面的功能、更好的性能和可扩展性,但成本较高;mysql专注于基本关系数据库功能,速度更快,但可靠性较低。...
    99+
    2024-05-10
    mysql oracle
  • mysql和oracle哪个数据库比较好用
    这篇文章主要介绍mysql和oracle哪个数据库比较好用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql和oracle哪个好?如果是中小型网站的开发首选MySQL数据库。M...
    99+
    2024-04-02
  • LINUX系统里CENTOS和UBUNTU哪个比较好
    本篇内容介绍了“LINUX系统里CENTOS和UBUNTU哪个比较好”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!抛开内核版本来说,Linu...
    99+
    2023-06-10
  • 动态ip和静态ip哪个比较好
    这篇文章主要介绍“动态ip和静态ip哪个比较好”,在日常操作中,相信很多人在动态ip和静态ip哪个比较好问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”动态ip和静态ip哪个比较好”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • PHP中数组和对象的比较:哪个更好?
    PHP是一种广泛使用的编程语言,它支持多种数据类型,其中数组和对象是最常用的两种数据类型之一。虽然它们都可以用来存储和操作数据,但它们有着明显的差异。那么,PHP中数组和对象哪个更好呢?在本文中,我们将介绍它们的区别和使用场景。 数组是PH...
    99+
    2023-08-24
    linux 数组 对象
  • Web前端和测试学哪个比较好点
    这篇文章给大家分享的是有关Web前端和测试学哪个比较好点的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。学Web前端和测试哪个好以目前的市场趋势来说,小编建议选择前端开发,为什么推...
    99+
    2024-04-02
  • 云主机和独立服务器哪个比较好
    这篇文章主要讲解了“云主机和独立服务器哪个比较好”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“云主机和独立服务器哪个比较好”吧! 对于很多新手站长来说,挑选主机成了头等难题,到底云...
    99+
    2023-06-07
  • 云主机和虚拟主机哪个比较好用
    这篇文章主要介绍“云主机和虚拟主机哪个比较好用”,在日常操作中,相信很多人在云主机和虚拟主机哪个比较好用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”云主机和虚拟主机哪个比较好用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-07
  • Bash 中 Go 和 Laravel 存储方案的比较:哪个更好?
    在 Bash 中,存储方案的选择非常重要,因为它可以影响你的应用程序的性能和可靠性。在本文中,我们将讨论两种常用的存储方案:Go 和 Laravel,以及它们各自的优缺点。 Go 存储方案 Go 是一种开源的编程语言,它被广泛用于构建高性...
    99+
    2023-09-19
    laravel 存储 bash
  • Python 日志框架和 Spring 的比较,哪个更容易上手?
    Python 和 Java 是两种非常流行的编程语言,它们都有自己的日志框架。Python 的日志框架是 logging,而 Java 的 Spring 框架则有自己的日志模块。在本文中,我们将比较这两个日志框架,并探讨哪一个更容易上手。...
    99+
    2023-06-25
    日志 框架 spring
  • 哪个云服务器比较便宜好用的
    阿里云服务器: 价格适中,性能优秀,稳定性高,支持多种云服务,可实现按需购买,按使用时长付费,同时还有专门的安全服务。 腾讯云服务器:价格比较贵,但是可以提供高质量的服务,包括数据备份和安全,还可以支持企业级别的云服务和数据处理。 Ama...
    99+
    2023-10-26
    好用 便宜 服务器
  • 哪个云服务器比较好用一点的
    阿里云服务器:作为阿里巴巴的云服务器,它的性能和稳定性都很不错,价格也实惠,可以作为首选。 AmazonEC2:AmazonEC2是Amazon官方提供的云服务器,拥有高达5TB的存储空间,能够满足用户的数据存储需求。 腾讯云服务器:腾...
    99+
    2023-10-26
    好用 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作