java ee架构_与Java EE和Spring的集成架构

java ee架构

本周在纽约举行的O'Reilly软件体系结构大会将举行 。 我很高兴与Josh Long一起提供有关如何集成Java EE和Spring的教程。 一段时间以来,我们一直在开玩笑。 某些人想到的对两种技术的超级愚蠢见解从一开始就困扰着我们俩。 这次演讲的另一个重要原因是,我们俩都在关注旧应用程序的现代化。 有太多的旧软件可以使用10多年了。 您会在两种技术中找到这些遗留应用程序。 这就是为什么我们要帮助人们了解如何使他们现代化并在过渡阶段中生存下来。

有关Spring和Java EE的一些历史

演讲的第一部分介绍了这两种技术的历史背景。 它们来自何处,如何演变并进入当今的状态。 两者自成立以来都取得了长足的进步,并提出了一个简单的句子:“选择合适的工具来完成正确的工作”,就可以轻松回答今天选择什么的问题。 但是出于多种原因,您甚至可以混合搭配。

Spring on Java EE

您可能会考虑在Java EE之上使用Spring的问题范围很广。 尽管EE已经出现并发展了很多,但我们不得不了解到您无法在标准机构中真正进行创新。 如果您构建一个合理的现代应用程序,那么这将带来不只是少数几个所需的功能。 这些差距中的一些包括安全空间(社交登录),NoSQL集成,总体上是企业集成。 尽管您可以自由选择Java EE的开放式源代码或封闭式源代码产品来关闭它们,但Spring最常见的是该系列产品的答案,这使得使用相同的编程模型和集成产品变得容易。 另外,Spring框架的尾巴很长:Spring框架4在Servlet 2.5+(2006 !!),Java EE 6(2009)和Java 6+上运行。 即使在最陈旧的基础平台上,使用现代功能也非常容易。 在我的github存储库中找到演示代码,并享受将Spring War部署到Java EE服务器并仅使用API​​多么容易。

Spring上的Java EE

但是您也可以解决这个问题,并在Spring中使用Java EE API。 您可能要执行此操作的原因有很多:这可能是向Spring迈出的第一步,同时只需重用一些旧代码即可。 另外,您想使用在有意义的标准以及其他对入侵性有其他意义的地方使用的标准。 示例包括JTA,JPA,JSR303,JSR 330,JCA,JDBC,JMS,Servlet等。

还有一个示例应用程序,您可以在其中使用(主要是)Java EE API时,将其作为基于Spring Boot的fat-jar 运行 。

技术集成和微服务

演讲的最后部分涉及两个系统之间的技术集成以及两个世界都支持的技术。 我们还讨论了微服务设计,并在三个小时之内回答了一系列问题。

我真的很喜欢它,不得不承认Josh是一位了不起的演讲者,在过去的几天里,与他一起工作使我学到了很多东西! 认识你很高兴,乔希! 确保在Twitter @starbuxman上关注他。


翻译自: https://www.javacodegeeks.com/2016/04/integration-architecture-java-ee-spring.html

java ee架构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ZigBee网络数据传递流程_蓝牙、Wifi与ZigBee三种,这三种无线传输技术,谁能一统天下...

智能产品种类越来越多,运用在智能家居上的技术也越来越成熟。然而在无线通信协议上却一直无法做到统一,从目前的情况来看,短期内是无法实现这一愿望的了。既然如此,我们何不另辟蹊径,在这些标准中,选择优势…

用matlab解一维单势垒波函数,一维多势垒结构准束缚态的MATLAB分析计算

第33卷 第2期 红 外 技 术 Vol.33 No.2 2011 年 2 月 Infrared Technology Feb. 2011 85 一维多势垒结构准束缚态的 MATLAB 分析计算 王忆锋,唐利斌,岳 清 (昆明物理研究所,云南 昆明 650223) 摘要:一维多势垒结构的准束缚态可以通…

java正则表达式匹配空字符串,【java】空字符串作为正则表达式,匹配什么?

空字符串作为正则表达式,匹配什么?ls makeList(" AB CDEFG HIJKLMNOPQRSTUVWXYZ".split(""));System.out.println(ls);输出:[ , A, B, , C, D, E, F, G, , H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]为…

根据变量推断变量类型_Java A的新本地变量类型推断

根据变量推断变量类型对于编程语言迷来说,新闻几乎比这更令人兴奋! 现在,存在状态为“候选”的JEP 286用于本地变量类型推断 。 以及Brian Goetz的反馈请求,我很想邀请您参加: http : //mail.openjdk.java.net/piperm…

千元平板电脑排行榜_最值得买的平板电脑推荐-最佳平板电脑品牌排行榜【2020年10月】...

平板电脑相较笔记本电脑而言,以其便携与功能强大的特点成为大家日常生活和工作的必备搭档,无论在性能配置上还是在内置软件应用方面,不同的使用场景有不同的需求。今天给大家推荐最佳平板电脑品牌排行,希望对大家选购平板电脑有帮…

C++ One

class DeEncodec { public:static DeEncodec *Get(){static DeEncodec ff;return &ff;}protected:DeEncodec();};

mysql5建函数报1064错误,MySQL存储函数创建错误ERROR 1064和1327

我正在使用MySQL v5.1.36,我正在尝试使用此代码创建存储函数.DELIMITER //CREATE FUNCTION modx.getSTID (x VARCHAR(255)) RETURNS INT DETERMINISTICBEGINDECLARE y INT;SELECT id INTO yFROM modx.coverage_stateWHERE coverage_state.name x;RETURN y;END//当进入MysqL控制…

java 枚举 菜鸟_2个菜鸟Java常量和枚举陷阱

java 枚举 菜鸟在对Java和Groovy代码进行的各种代码审查中,我经常看到魔术数字和其他随机字符串散落在整个代码库中。 例如,下面的(Groovy)代码段中的4.2是一个神奇的数字: if (swashbuckle > 4.2) {... }4.2是什…

C++ 11 深度学习(二) 命名空间简介、基本输入输出精解

1.命名空间 作用:防止在大型工程中多个包含文件中的Fuction被重复定义使用造成不能编译的混乱。如下错误显示 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2005 "void __cdecl showFirst(void)" (?showFirstYAXXZ) 已经在 first.obj 中定义 Project2 F:\…

python正则_python的正则表达式

上次小编写了正则表达式的用法,今天就小编就讲讲正则表达式再python中的应用,在python中想使用正则表达式就需要导入re模块。接下来小编将先介绍re模块中几个常见的函数findall:re.findall(‘正则表达式’,‘待匹配的内容’)例1:输…

【FFMPEG源码终极解析】 avformat_open_input (一)

avformat_open_input 打开媒体函数,先上全部源码。然后逐语句分析。 int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {//第一部分解析AVFormatContext *s *ps;int i, ret 0;AV…

spring async_Spring Async和Java的8 CompletableFuture

spring async众所周知,我不是Spring的最大粉丝,但是当时我在一个组织中工作,该组织使用Spring(以不同的形式和版本)维护了太多的项目。 我仍然对Spring持怀疑态度,当然有一些很好的主意,有一些很…

公里与英里的换算c语言函数_60迈=60码=60公里?这三者天壤之别,可别搞错了

说到行车速度,大家经常用的是这三个单位:码、迈、公里/时,很多人以为这三者是同一个意思,都是每小时多少公里。实际上这三者并不等同,下面小编科普一下这几个词的差异。码1码不等于1公里,而是等于0.9144米&…

php3.2.3分组查询,ThinkPHP3.2.3版本如何设置应用分组

鑫强已经解决了我的解决方法是创建两个入口文件实际上我的目的就是想要达到两个模块共用一个配置文件和公共函数文件我的解决方法是在项目根目录下建立两个入口文件一个是Index.php与Root.php两个入口文件其中是这样写的Index.php{<?php #前台入口文件 header(Conte…

FFmpeg options

libavformat options libavcodec options

通过图书编号查询python,基于Python的ISBN书号查询示例代码-六派数据

示例代码本代码示例是基于Python的六派数据接口进行数据请求API服务请求的代码示例&#xff0c;使用前你需要&#xff1a;以下是完整代码示例&#xff1a;#!/usr/bin/env python# -*- coding: utf-8 -*-# 测试环境: python2.7# 安装requests依赖 > pip install requests/ ea…

归约操作java8_使用Java 8进行分组,转换和归约

归约操作java81.简介 在上一篇文章中 &#xff0c;我写了关于如何使用流和分组对对象集合进行分组的文章。 这很有用&#xff0c;但不涵盖特定的用例。 例如&#xff0c;有时我们不仅需要对事物进行分组&#xff0c;还需要将结果转换为更合适的对象。 在这篇文章中&#xff0c…

C++ 11 深度学习(一)auto、头文件防卫、引用、常量

1.数组初始化 int a[]{ 1,2,3,4,5 }; 2.C11 auto auto可以在声明变量的时候根据变量的初始值的类型自动为此变量先择合适的类型&#xff0c;声明时要赋予初值。 auto自动推导发生在编译期间 auto A 10;//A会被自动推导为int类型 3.头文件防卫式声明 作用:防止头文件重…

flux storm_Apache Storm:如何使用Flux配置KafkaBolt

flux storm微型框架中的助焊剂可以帮助我们定义和部署Storm拓扑。 Flux有各种包装器&#xff0c;可帮助您定义所需的流并初始化Bolts和Spouts&#xff08;使用带有或不带有参数的构造函数&#xff0c;并通过反射自动调用自定义配置方法&#xff09;。 您只需要使用Flux就是将…