V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kracker1911
V2EX  ›  Java

使用 Java /spring 的时候,对于大堆的 xml 配置,怎样能够达到从心所欲的随意配置呢?

  •  1
     
  •   kracker1911 ·
    Kracker1911 · 2019-04-23 14:58:12 +08:00 · 4162 次点击
    这是一个创建于 2040 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的意思是:对于 xml 的树状配置节点,如果看作是所引入的 jar 包中一个个类的属性的静态配置。那么如果我想把这些配置都搞明白,想要按照项目的功能 /需求变化随意配置组件参数,是不是需要把涉及到的类的源码都过一遍,把每个可以配置的参数都理清来龙去脉?

    如果不用这么麻烦的话,该怎么做能够自如使用 /配置这些组件呢?

    (以上是一个受够了面向谷歌 /百度编程的 java 码农提出的问题)

    31 条回复    2019-04-24 20:03:14 +08:00
    lancelock
        1
    lancelock  
       2019-04-23 15:01:58 +08:00
    用 spring boot
    lihongjie0209
        2
    lihongjie0209  
       2019-04-23 15:30:09 +08:00   ❤️ 1
    spring 本质来说就是 IOC 容器

    spring 根据配置文件 /java 代码提前初始化好一些类, 然后你就可以在代码中依赖注入了。

    所以,xml 的本质就是告诉 spring 怎么初始化这些类, 如构造函数,参数,类型, 值等, 通过工厂创建的对象需要在 xml 配置好类的工厂方法以及参数。

    所以,你如果想熟练配置,那么你只需要看所需要类的构造函数或者是工厂函数就可以了
    daryu
        3
    daryu  
       2019-04-23 15:30:45 +08:00
    已经好久没在 spring 里用 xml 了
    rookiewhy
        4
    rookiewhy  
       2019-04-23 15:37:27 +08:00
    这也是我学习 Java 后端的一个难点,就是配置一大堆,而且网上的一些配置教程很多都有一些细节上的差异,现在工作之余学习 SSM 中,顺带问下大佬们,我先学 SSM 整合,等熟悉配置后再去学习 Spring Boot,这个想法可以吗,SSM 整合还有必要学习吗?,目的是找工作(应该还有很多老项目在用 SSM 吧?),
    HuasLeung
        5
    HuasLeung  
       2019-04-23 15:47:19 +08:00
    @rookiewhy ssh、ssm 整合已经落后于时代,没有学习的必要性。
    rookiewhy
        6
    rookiewhy  
       2019-04-23 16:07:32 +08:00
    @HuasLeung ssh 不学的,现在公司大部分都在用 spring boot? spring boot 我后面会学,就怕面试的时候需要 ssm 的经验
    HuasLeung
        7
    HuasLeung  
       2019-04-23 16:09:34 +08:00
    @rookiewhy 大公司用的 springboot+springcloud,其他不太了解
    Jrue0011
        8
    Jrue0011  
       2019-04-23 16:29:00 +08:00   ❤️ 1
    随意配置和 Spring 的 XML 配置方式没有关系吧?就比如说你想要轻松使用 HttpComponent 的配置,那你肯定需要理解 HttpComponent 的参数都有什么用,所以推荐的方法就是学好英语,去官网看文档和示范代码,倒不用一上手就先去看源码啦
    mortonnex
        9
    mortonnex  
       2019-04-23 16:30:01 +08:00
    auto configure 了解一下
    leafre
        10
    leafre  
       2019-04-23 16:31:01 +08:00
    @configuration or spring boot
    pmispig
        11
    pmispig  
       2019-04-23 16:54:49 +08:00
    一般无非是配置 IP,用户密码吧,最多还有什么超时最大连接数之类的,有什么好研究的吗
    kracker1911
        12
    kracker1911  
    OP
       2019-04-23 16:57:36 +08:00
    @lancelock springboot 只是有粗略了解过,好像也是需要在 properties 文件中或在注解中配置项目
    passerbytiny
        13
    passerbytiny  
       2019-04-23 17:03:57 +08:00
    @rookiewhy #6 面试需要 ssm 的,可以直接 pass,不然进去后就算老板不让你 996 你也得 996。

    自 JDK 6 开始,注解就在替换 XML。Spring Boot 出世后,除了 Maven 等外部配置,Java 内部 XML 已彻底消亡。现在研究 XML 配置是没有意义的。
    gosansam
        14
    gosansam  
       2019-04-23 17:11:07 +08:00
    你可以鄙视一番还在用 ssm 的,不过 springboot 很多也只是用 autoconfigure 帮你封装了,了解一下自动配置
    qiyuey
        15
    qiyuey  
       2019-04-23 17:12:25 +08:00
    Java Config 现在很少用 XML 了
    CFO
        16
    CFO  
       2019-04-23 17:14:40 +08:00 via Android
    我写了快四年 Java 了 你要是让我从头整合一套 ssm 我估计都得花不少时间 但是 如果让我用 spring boot 分分钟上线
    sambawy
        17
    sambawy  
       2019-04-23 17:17:30 +08:00
    请用 spring boot
    magic3584
        18
    magic3584  
       2019-04-23 18:15:38 +08:00
    Java 后端不用 SSM 了吗?那学啥。。。
    https://www.v2ex.com/t/539964
    从那时开始就学 SSM 了。。。
    chocotan
        19
    chocotan  
       2019-04-23 18:19:25 +08:00
    spring boot+1
    hadixlin
        20
    hadixlin  
       2019-04-23 18:30:21 +08:00
    spring framework 从 2.5 开始支持注解配置.如果现在你看的资料还在教你怎么使用 xml,那么真的过时了.
    spring framework 是整个 spring 生态的核心,把 spring framework 弄清楚再学习 spring boot 可能有几个小时读读文档就搞定了.
    Spring 用了 10 年,也算有经验吧,有什么解决不了的问题,可以找我讨论一下.
    fookwood
        21
    fookwood  
       2019-04-23 18:31:31 +08:00
    spring boot 进行了很多自动配置,极大地减少了配置量
    如果真想要自定义,配置都统一放在 application.properties 里,在 IDEA 里,你可以通过配置的名字直接跳转到代码里被用到的地方,非常方便
    Cbdy
        22
    Cbdy  
       2019-04-23 18:35:19 +08:00 via Android
    避免使用 XML 作配置
    hangszhang
        23
    hangszhang  
       2019-04-23 21:02:37 +08:00
    @HuasLeung 大公司都用自己整好吗...
    xuanbg
        24
    xuanbg  
       2019-04-23 21:03:50 +08:00
    拥抱 spring boot,告别 xml。。。
    HuasLeung
        25
    HuasLeung  
       2019-04-23 21:08:29 +08:00 via Android
    @hangszhang 框架是起了个新的名字,但实际上是封装或改造下 spring cloud 的不在少数
    TommyLemon
        26
    TommyLemon  
       2019-04-24 02:56:05 +08:00
    用 SpringBoot 啊,就是为了解决这个问题的,不过还有基于 SpringBoot 的 APIJSON 可以看看
    https://github.com/TommyLemon/APIJSON
    ice2neet
        27
    ice2neet  
       2019-04-24 10:24:19 +08:00
    请用 springboot
    ren2881971
        28
    ren2881971  
       2019-04-24 10:45:41 +08:00
    换 spring boot 或者不用 java
    uzck
        29
    uzck  
       2019-04-24 10:51:09 +08:00
    借楼问下有直接 springboot 开发 web 项目的书籍么 还是要从 spring 开始看起
    gransh
        30
    gransh  
       2019-04-24 13:17:40 +08:00 via iPhone
    @uzck 直接 spring boot,ssm 那一套过一遍了解下即可。我是看慕课网视频学的,书也看过一本《 spring boot2 精髓》。觉得看书不如看看视频了解下怎么用,后面翻官方文档
    wc951
        31
    wc951  
       2019-04-24 20:03:14 +08:00 via Android
    现在谁还搞 xml 这套,都是 springboot,一般配置直接写 yaml,深度定制用 javaconfig 加注解
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2673 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 15:02 · PVG 23:02 · LAX 07:02 · JFK 10:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.