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

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

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

    最近准备开新 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   ·   实用小工具   ·   987 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 20:42 · PVG 04:42 · LAX 12:42 · JFK 15:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.