Overview Java EE 8 (JSR 366) was released in September 2017. As a memo substitute for organizing changes and new features from 7 of Java EE 8. I will add it each time I have a free hand.
Impression Suddenly, I don't think Java EE 8 has so many powerful new features that make it a major version upgrade. Overall, it seems that the affinity with Java SE 8 APIs such as Stream and Date and Time API has been improved. Atmosphere that doesn't correspond so much to lambda?
It is undeniable that the lead by Oracle is slowing down compared to the specification development of Java EE so far, such as the disappearance of MVC 1.0 that was originally planned and the progress being stagnant for a while. Therefore, this is probably the reason why Java EE Guardians was born. Isn't it Java EE 7.1? You may hear that, but maybe you still want to keep it aligned with the corresponding Java SE version?
NEWS 2017-08-18 From the side of the post, Oracle suggests a move to another community. https://blogs.oracle.com/theaquarium/opening-up-java-ee
2017-09-12 Decided to move to Eclipse Foundation https://blogs.oracle.com/theaquarium/opening-up-ee-update
2017-09-18 Java EE 8 Final Release
2017-09-29 It seems that the new name of Java EE is being considered for change with the move to the Eclipse Foundation. After that, the name of the project is Eclipse Enterprise for Java (commonly known as ** EE4J **), and this is not a new brand name. https://blogs.oracle.com/theaquarium/ee4j-eclipse-enterprise-for-java
2018-02-26 The new name for Java EE has been decided as Jakarta EE.
New Features
In the figure below, blue is the upgraded specification and orange is the newly added specification. JPA is not colored, but it will be released for maintenance as 2.2.
New Specs
Ability to bind a JSON object to a Java object.
In short, JSON-P introduced in Java EE 7 used an object called JsonObject to operate JSON, but like JAX-B, JSON as a character string is deserialized into a Java object. Ability to serialize Java objects to JSON.
Specification released as JSR 367
Reference Implementation is [Yasson] of Eclipse Project (https://github.com/eclipse/yasson)
Previously, the same thing could be done with libraries such as Jackson, but now JCP has standardized the API as JSR.
Java EE Security API I haven't been able to follow it properly yet, so roughly.
Major Versionup Specs
Bean Validation 2.0
List <@NotNull String>
can now be done)@NotBlank
, @NotEmpty
, @Email
, @PastOrPresent
, @FutureOrPresent
etc. are newly added to the standard API this time.Servlet 4.0 HTTP / 2 support
Minor Version Up Specs JAX-RS 2.1
JSON-P 1.1
JSF 2.3 Surprisingly, there are many additions and improvements. I feel that the demand for JSF will decrease in the future, but is it okay because business applications can be created quickly without using front-end technology?
@Inject
can be used for DI and EL expressions can be used for reference (FacesContext
, ʻExternalContext,
Session`, etc.)f: event
h: selectOneRadio
radio buttons@ManagedProperty
annotation now supports CDI Beanjavax.faces.bean
will be treated as Deprecated (deprecated) for each package, and the API of CDI will be used.It seems that there are many other small changes.
JPA 2.2
@NamedQuery
and @JoinColumn
support @Repeatable
. I don't have to use @NamedQueries
or @JoinColumns
every time.@Inject
. (Why didn't you meet the JPA 2.1 specifications?)getResultStream
method to Query. Internally, it's simply getResultList (). Stream ()
# L86) It seems that they are just doing it.Java EE 8 Compatible Servers If Java EE 9 is released in 2018, can we deny the possibility that it will not follow much? The highlight is how much compatibility comes out other than GlassFish. If MicroProfile is standardized, I feel that MicroProfile support will come out quite well.
Recommended Posts