JEE 7

JEE 7 学习笔记

既然项目走到一定规模,必定涉及到各种规范各种与业务无关的中间件(事务、消息、组件生命周期管理等等),那么在java的世界中,还有什么会比JEE更稳定可靠呢。
前端时间使用spring-boot打造项目,在项目初期起步时确实比较好用,但是当项目投入生产环境,需要更多的考虑成熟后端项目必须面对的问题时,spring社区围绕spring-boot提供的解决方案低效而冗长,隐隐有打造一套基于spring体系的EJB的趋势。在spring-boot项目中比较好用的模块其中都有J2EE的影子,但是spring强行在之上进行了一套嵌入spring体系的封装;而项目中的JPA,JAX-RS都是去除了spring自定义的封装后才露出锋芒。
既然如此,为何还要spring,是时候回头看看JEE了,看看新生的java8和JEE7;spring和JEE文档相比,真是差不不止一点半点。

好的框架,应该有明确规范,并且提供拓展接口(SPI,JEE中反复用到的,service provider interface)

CDI never relies on String-based identifiers to determine how objects fit together. Instead, CDI uses strongly typed annotations (e.g., qualifiers, stereotypes, and interceptorbindings) to wire beans together.
1.基于语言层面定义的框架规范,才能真正发挥语言的最大特性;JEE 7 is superset of JSE 7。
2.基于XML的deployment descriptor并非一无是处,完全使用语言层面的annotation配置,也会造成代码可读性下降,并且更改配置必须修改代码重新编译,最好是两者配合着一起使用。
3.JVM本身就是个大容器,不基于Java的机制管理bean就会怎么用怎么膈应;CDI很好。

所有被jEE容器监管的CDI BEAN必须是所在jar包中 META-INF 或者 WEB-INF中定义了beas.xml

你可能感兴趣的:(JEE 7)