mvc 4.0.0.0_MVC 1.0:非常适合微服务管理工具

mvc 4.0.0.0

以下是TheServerSide的Cameron McKenzie与Ivar Grimstad进行的对话的记录,重点是Java生态系统中的热门话题,重点是MVC 1.0和新的安全规范JSR-375.



让人们谈论MVC 1.0和JSR-375

卡梅隆·麦肯齐(Cameron McKenzie): TheServerSide真的很幸运,能够今年初赶上Ivar Grimstad 。 这些天,他在宣讲一些我认为非常重要的话题。 一个是新的MVC框架,另一个是Java安全性。

然而,有趣的是,尽管这些规范非常重要,但MVC和JSR-375只是没有像微服务和容器那样成为头条新闻。 因此,我想从Ivar那里了解人们对于新的MVC规范和JSR-375需要了解的重要内容。

Ivar Grimstad:如果我首先使用MVC,那么几年前规范是EE平台的一部分时,我们就引起了很多关注。 Oracle将其淘汰时,情况有些混乱。 然后,很幸运,我很幸运能够担任该规范的负责人,所以我从Oracle那里得到了它并继续这样做。 我还带了克里斯蒂安·卡特珀斯(Christian Kaltepoth)。 由于我们是该规范的两个最活跃的成员,因此我们是进一步完善该规范的最佳人选。

MVC周围有些沉默,我们再也没有得到太多关注。 社区真正想要MVC时就开始,然后他们逐渐转向微服务和容器。

因此,尽管我们有点​​落后技术,但我认为仍会使用MVC。 当我发推文或博客或发表任何言论时,我们会收到很多社区的回应。 我们在邮件列表中有很多贡献者,而且做得很好。

卡梅隆·麦肯齐(Cameron McKenzie):现在,关于MVC 1.0的一件事是事实证明它与微服务非常有效。 而且我可以看到它被大量用于为基于容器的应用程序创建UI。 那是您看到焦点的地方吗?

Ivar Grimstad:我也认为它将在更多的企业内部应用程序中大量使用,但这并不是吸引会议参加者的性感话题。

MVC 1.0和JSR-RS

卡梅隆·麦肯齐(Cameron McKenzie):在您看来,是什么让MVC 1.0如此特别?

Ivar Grimstad:嗯,最重要的是,它是基于JAX-RS构建的,因此,如果您使用JAX-RS创建REST端点,则过渡还添加一些Web界面您的应用程序变得容易。 大多数REST应用程序还带有某种管理工具。 使用MVC 1.0,我们实际上可以建立在REST应用程序所使用的完全相同的技术上,因为使用MVC,我们只是向JAX-RS添加了一些风味,然后我们就可以开始了。

Cameron McKenzie:那么MVC是基于容器的应用程序的新UI框架吗?

伊瓦尔·格里姆斯塔德:肯定的。 我的意思是,如果您要创建一个还具有某种UI的容器化服务,则使用MVC是有意义的。 如果您有使用JAX-RS平台的开发人员并且了解Java EE,并且您正在该基础架构上构建,那么我认为MVC非常适合。

Cameron McKenzie:现在,您还是JSR-375的专家,JSR-375是Java EE中即将使用的新安全性API。 您能告诉我们些什么?

Ivar Grimstad:这是Java EE 8的全新安全性API。

我认为这是一个重要的规范,因为它弥补了先前版本中缺少的一些空白。 我们引入了一个通用术语,因此无论您是在谈论诸如身份验证机制之类的安全性时,我们都在谈论同一件事。 我们还拥有更多由应用程序开发人员管理的支持。 因此,您可以通过注释轻松地增加安全性,并且无需进行任何容器或特定于供应商的配置即可启动和运行它。

使用JSR-375的标准化安全性

卡梅隆·麦肯齐(Cameron McKenzie):现在,当我阅读JSR-375规范时,我对自己说:“真的吗? 我们是否已经不对很多东西进行标准化?” 我猜有很多东西,例如自定义用户注册表API,以及我们如何连接到用户存储库,这些东西过去都是由供应商管理的。 因此,开发人员确实不必考虑这一点。 但是,是的,我的意思是,您是否没有得到这样的印象:“ Jeez,我们是如何到2017年的,还没​​有将这些东西标准化?”

Ivar Grimstad:是的,是的。 和我们有同样的感觉。 但是现在它在那里了,那是一件好事。 这绝对是一个良好的基础。

卡梅隆·麦肯齐(Cameron McKenzie):那么,JSR-375(Java安全规范1.0)又有什么用,这使得它非常有利于微服务的工作?

Ivar Grimstad:您在应用程序中负责安全性,因此您无需从外部进行配置。 因此它包含在您的应用程序安全配置中。

卡梅隆·麦肯齐(Cameron McKenzie):那么,您看到2018年的主要话题是什么?

Ivar Grimstad:由于我正在Java EE世界中走动,我认为我们要讨论的主要主题之一是将Java SE 9迁移到Eclipse Foundation。 Twitter上已经有很多关于命名的讨论,因为他们发布了命名为Eclipse Enterprise for Java的名称,当然人们对此有意见。 因此,我认为这将有很多讨论。

Java:诅咒或祝福

卡梅伦·麦肯齐(Cameron McKenzie):现在,这是我最近一直在问很多人的一个问题。 就是这样:回顾过去的六,七年,您认为成为Java平台的管理员对Oracle来说是福还是祸

Ivar Grimstad:我认为他们在Java上赚了大钱,所以我认为这对他们来说非常不错。 所以我认为这不是诅咒。 我认为2016年对EE 8的处理不佳。 而且,我们看到社区对此做出了React,使用Java EE监护人和由此产生的MicroProfile。 但是现在他们转向开源,例如将NetBeans开源到Apache,将EE开源到Eclipse Foundation,以及将更多的JDK工具开源化,他们都朝着正确的方向迈出了一步。 我认为这将是积极的接待。

翻译自: https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/MVC-10-The-perfect-fit-for-microservice-admin-tools

mvc 4.0.0.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@18e8e27b] 2023-07-22 09:35:58.167 ERROR 44888 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.ClassCastException: com.sc_core.hardware.entity.Bracelet cannot be cast to com.sc_core.hardware.entity.BraceletMessage] with root cause java.lang.ClassCastException: com.sc_core.hardware.entity.Bracelet cannot be cast to com.sc_core.hardware.entity.BraceletMessage at com.sc_core.hardware.service.Impl.BraceletServiceImpl.BraceletOnlineCount(BraceletServiceImpl.java:46) ~[classes/:na] at com.sc_core.hardware.controller.BraceletController.BraceletOnlineCount(BraceletController.java:37) ~[classes/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_131] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_131] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_131] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_131] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) ~[spring-web-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) ~[spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) ~[spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) ~[spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) ~[spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) ~[spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR]
07-23

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值