使用 Java /spring 的时候,对于大堆的 xml 配置,怎样能够达到从心所欲的随意配置呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kracker1911
V2EX    Java

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

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

    我的意思是:对于 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 吧?),
    BCy66drFCvk1Ou87
        5
    BCy66drFCvk1Ou87  
       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 的经验
    BCy66drFCvk1Ou87
        7
    BCy66drFCvk1Ou87  
       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
    rrubick
        18
    rrubick  
       2019-04-23 18:15:38 +08:00
    Java 后端不用 SSM 了吗?那学啥。。。
    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。。。
    BCy66drFCvk1Ou87
        25
    BCy66drFCvk1Ou87  
       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 开始看起
    iixy
        30
    iixy  
       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     Solana     2579 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 04:53 PVG 12:53 LAX 21:53 JFK 00:53
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86