世界变化好快。。Spring 5.x 的新特性 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Lpl
V2EX    Java

世界变化好快。。Spring 5.x 的新特性

  •  
  •   Lpl
    penglongli 2016-11-14 01:27:18 +08:00 14468 次点击
    这是一个创建于 3331 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近准备开新 Repo ,然后就去搜了点东西。发现只顾着写业务了,感觉就好像跟新东西脱轨了一样

    链接:https://github.com/spring-projects/spring-framework/wiki/What's-New-in-the-Spring-Framework#whats-new-in-spring-framework-5x

    • Package mock.staticmock removed from spring-aspects module. (这是说不再提供对 mock 的支持了么?)
    • Packages web.view.tiles2 and orm.hibernate3/hibernate4 dropped.(也不再对 Hibernate 支持了么?)
    • Dropped support: Portlet, Velocity, JasperReports, XMLBeans, JDO, Guava.(移除了对 Velocity 、 Guava 的支持,搜索了下好像可以用 Caffeine 替代?)
    • Complete support for JUnit 5's Jupiter programming and extension models in the Spring
    • Support for Protobuf 3.0 (currently beta 4).

    其它的东西看得就有一点懵逼了 - -

    关于移除对 Velocity 的支持,我看 Oschina 上的这个帖子: https://www.oschina.net/news/75662/spring-4-3-2-5-0-0-m-1 上边说可以自己结合模板处理是什么意思呢?

    31 条回复    2016-11-15 09:18:35 +08:00
    wwqgtxx
        1
    wwqgtxx  
       2016-11-14 06:55:40 +08:00
    我只想说 hibernate 都 5.2.4 了,移除对 3/4 的支持不是很正常么。。。
    Lpl
        2
    Lpl  
    OP
       2016-11-14 08:01:53 +08:00 via Android
    @wwqgtxx 但是貌似没说对新版本的 Hibernate 支持啊
    wangdu2012
        3
    wangdu2012  
       2016-11-14 08:39:58 +08:00 via iPhone
    好奇移除了 hibernate , jpa 用什么实现
    depress
        4
    depress  
       2016-11-14 09:03:10 +08:00
    @Lpl 只是说移除 hibernate3 和 4 而已...spring 总不能抛弃 hibernate 吧,那就是大新闻了,不过不对 velocity 、 jasperreposts 、 guava 支持也是大动作了...然而现在用 spring 的公司上 4 的又有几个。
    tao1991123
        5
    tao1991123  
       2016-11-14 09:11:35 +08:00 via iPhone
    问一下 Drop Jasper 以后 有什么 Jasper 的替代品
    letitbesqzr
        6
    letitbesqzr  
       2016-11-14 09:17:58 +08:00
    关注很久了,还是比较期待
    fwrq41251
        7
    fwrq41251  
       2016-11-14 09:26:01 +08:00
    spring 里对 guava 的支持是啥,从来没用过也没见过
    letitbesqzr
        8
    letitbesqzr  
       2016-11-14 09:29:45 +08:00
    @fwrq41251 说的是 Guava 的 Cache 吧。。 spring cache 里有一个 org.springframework.cache.guava 包
    johnj
        9
    johnj  
       2016-11-14 09:30:37 +08:00
    Hibernate 那个是你误读了,只是不支持低版本而已。

    其实最激进的,文中没提到,是必须用 Java SE 8 和 Java EE 7 了, Tomcat 要 8.5

    Spring 4.3.x 支持到 2019 年结束,所以不必担心。
    letitbesqzr
        10
    letitbesqzr  
       2016-11-14 09:32:22 +08:00
    @johnj 其实只支持 java 7+ 影响也不是很大吧。 会上 spring 5 的项目,肯定都是标配 java 8 了
    windyboy
        11
    windyboy  
       2016-11-14 09:44:33 +08:00
    spring 我现在是能不用则不用
    Ouyangan
        12
    Ouyangan  
       2016-11-14 09:58:34 +08:00
    有个疑问 , 问问大家现在新项目还有多少准备上 hibernate 的 ,我身边的感觉清一色的 mybatis...
    kingcos
        13
    kingcos  
       2016-11-14 10:08:01 +08:00 via iPad
    怎么看待做 Java Web 还在用 Spring 3 ,一个一个拷贝包呢。。。
    是能做出来就行,还是紧跟潮流比较好呢?
    letitbesqzr
        14
    letitbesqzr  
       2016-11-14 10:08:39 +08:00
    @Ouyangan 我身边清一色的 hibernate + jpa .... 配合 spring data jpa + querydsl 查询不要太爽
    kingcos
        15
    kingcos  
       2016-11-14 10:09:23 +08:00 via iPad
    @Ouyangan 同问。。。身边学 Java Web 的同学大多用的 SSM 而不是 SSH
    echo1937
        16
    echo1937  
       2016-11-14 10:10:36 +08:00
    @windyboy 那用啥?
    swim2sun
        17
    swim2sun  
       2016-11-14 10:27:37 +08:00
    用的 Spring Boot 没关心 Spring 是什么版本。
    ORM 用的 Spring Data JPA ,有 jpa 这一层抽象,底层 hibernate 版本怎么变都不会有什么影响吧。
    至于 JDK 版本,我们目前一直用着 1.8 , Stream 、 lambda 表达式爽得不要不要的。 Spring 要是只支持 8 以上的 JDK 我是举双手赞成的。
    windyboy
        18
    windyboy  
       2016-11-14 10:29:27 +08:00
    @echo1937

    JVM 语言现在非常多
    我之前用 groovy ,现在逐渐转 kotlin ,其实很多情况服务器端开发并不需要注入的方式
    一定要注入的话,我宁愿 guice
    hibernate 我也是拒绝使用,尽量用 sql 直接查询
    Ouyangan
        19
    Ouyangan  
       2016-11-14 10:30:15 +08:00
    @letitbesqzr 受教了 , 看来我要去尝试下了
    jason19659
        20
    jason19659  
       2016-11-14 10:44:47 +08:00
    Package mock.staticmock removed from spring-aspects module.
    No support for AnnotationDrivenStaticEntityMockingControl anymore.
    Packages web.view.tiles2 and orm.hibernate3/hibernate4 dropped.
    Minimum requirement: Tiles 3 and Hibernate 5 now.
    Dropped support: Portlet, Velocity, JasperReports, XMLBeans, JDO, Guava.
    Recommendation: Stay on Spring Framework 4.3.x for those if needed.
    Many deprecated classes and methods removed across the codebase.
    A few compromises made for commonly used methods in the ecosystem.
    aldenchang
        21
    aldenchang  
       2016-11-14 11:01:31 +08:00
    最近刚开始学 Spring+Hibernate ,原来只是不再支持旧版本,看了吓一跳
    Lpl
        22
    Lpl  
    OP
       2016-11-14 11:56:51 +08:00 via Android
    @letitbesqzr 我们也这么玩,但是代码写的一坨一坨的。。。
    Lpl
        23
    Lpl  
    OP
       2016-11-14 11:58:16 +08:00 via Android
    @johnj 如果这样子的话,那以后感觉还是用 JPA 做 ORM 了,用 MyBatis 的话太丑。应用层查询可以上 GraphQL-Java
    acrisliu
        24
    acrisliu  
       2016-11-14 12:05:30 +08:00 via Android
    @letitbesqzr hello ,请教一下,使用 spring data jpa 进行多表关联查询的话,是不是必须现在实体类写明 one to one 或者 one to many 等关系呢?
    letitbesqzr
        25
    letitbesqzr  
       2016-11-14 12:07:36 +08:00   1
    @acrisliu 对啊
    letitbesqzr
        26
    letitbesqzr  
       2016-11-14 12:08:40 +08:00
    @Lpl 感觉还好吧。。。反正我们不用 spring data jpa 提供那个 什么 命名查询的.... 条件多的时候 搞的函数名 非长一串
    wwqgtxx
        27
    wwqgtxx  
       2016-11-14 12:22:48 +08:00 via iPhone
    @Lpl 因为早就支持 hibernate5 了…
    Lpl
        28
    Lpl  
    OP
       2016-11-14 12:39:48 +08:00 via Android
    @wwqgtxx 这个还真不清楚。。看来得多看看文档了- -
    Lpl
        29
    Lpl  
    OP
       2016-11-14 12:42:54 +08:00 via Android
    @letitbesqzr 我们是在多表查的时候搞 queryDsl ,在单表的时候就搞那套查询条件写成方法名的那个鬼西。

    旧代码中还写 sql ,现在统统不让写了
    letitbesqzr
        30
    letitbesqzr  
       2016-11-14 12:57:35 +08:00
    @Lpl 我们是报表用 querydsl ....
    johnj
        31
    johnj  
       2016-11-15 09:18:35 +08:00
    @Lpl 用 JPA 也还得用 Hibernate 作为实现啊
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2583 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 06:35 PVG 14:35 LAX 22:35 JFK 01:35
    Do have faith in what you're doing.
    ubao msn 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