Upgrade to Pro — share decks privately, control downloads, hide ads and more …

xgeeks - spring : projects, features and news

xgeeks - spring : projects, features and news

More Decks by Kamila de fatima santos oliveira

Other Decks in Programming

Transcript

  1. It provides a comprehensive model of configurations for Java-based applications,

    it allows us to focus on developing the application, already leaving most of the configurations ready or extremely simplified for us developers. Spring Framework
  2. Has features for dependency injection, data validation, tests, access to

    databases, development of Web applications, integrations and can also be used with languages such as Kotlin and Groovy. Spring Framework
  3. Core: provides the fundamental parts of the framework, including IOC

    (inversion of control ) and dependency injection features Core Container
  4. Context: is a medium to access any objects defined and

    confiured. The ApplicationContext interface is the focal point of this module. Core Container
  5. SpEL: provides a very powerful expression language used for manipulating

    and querying an object graph at runtime. Core Container
  6. JDBC: provides a JDBC -abstraction layer that removes the needs

    for some JDBC configuration/code Data Access Container
  7. OXM: provides an abstraction layers for supports Objects/XML mapping implementations

    (for example XStream,JAXB, Castor...) Data Access Container
  8. Transaction: supports transaction management for classes that implement special interfaces

    and for all Plain Old Java Objects. Data Access Container
  9. Web: provides web-oriented features, such as initilialization of the IoC

    container using servlet- listenets and a web-oriented application context. Web Container
  10. provides support for STOMP (Simple Text Orientated Messaging Protocol) as

    the WebSocket sub-protocol to use in applications. Messaging
  11. It allows the creation of an application quickly, having an

    embedded server, a "starter" where we can choose the initial dependencies of the application, health check of the application, without the need to configure several dependencies via XML. Spring Boot
  12. It abstracts most of the settings and already provides a

    basis for your application to run, through Spring Security we can easily add authentication to our application and connect and query the database with almost no configuration through Spring data Web Apps
  13. Through the Spring Cloud Project, we have several solutions to

    be used in our microservices. Microsservices
  14. provides several tools that assist in the development of microservices,

    such as Config Server, load balance, circuit breakers, gateway, among others. Spring Cloud
  15. Service discovery enables microsservices to easily discover the route of

    other services that need to access Service Discovery
  16. In Serverless applications we don't need to worry so much

    about allocating resources of other features related to the application server, Faas (Function as a Service), Sprimg Cloud Function Serverless
  17. responsible for abstracting a large part of our work with

    databases, such as writing simple queries (save, search by id, among others). Spring Data
  18. Supports authentication via JWT, Oauth services (developing your own Oauth

    server or being the client and connecting to the authentication server via social network eg), it also allows you to work with scopes Spring Security
  19. Spring WebFlux can be defined as a “parallel” version to

    the already known and widely used Spring MVC (servlet), having as main difference the support for reactive NIO streams and for supporting the concept of backpressure with the Netty server coming by default embedded in its architecture. spring webflux
  20. From version 5.0 of the Spring Framework we have a

    reactive part in addition to the Servlet structure that already existed, each module of these is optional, you can use the Servlet part, the reactive part or even both in your applications. spring webflux
  21. Spring Webflux was developed because we needed non-blocking applications that

    could work with a small number of threads simultaneously and that could be run with some hardware resources. spring webflux
  22. in Servlet 3.1, an NIO API was provided, but its

    use does not correspond to the rest of the API and to all the concepts behind Servlet, which has blocking contracts. spring webflux
  23. These factors were decisive for the development of a new

    API that was used independently of the execution time and in a non-blocking way, which was possible with the servers (Netty for example) that consolidated themselves in the asynchronous and non- blocking operation. spring webflux
  24. the proposal of spring native (which is in beta /

    experimental version) is to provide official support for compiling spring applications for native images with the graal vm Spring Native
  25. the proposal of spring native (which is in beta /

    experimental version) is to provide official support for compiling spring applications for native images with the graal vm Spring Native
  26. Having this native image, we obtain executable code, through the

    AOT (Ahead of Time) compilation, Graal VM statically analyzes all dependencies, libs, jdk and etc. Spring Native
  27. generating an executable, in the early compilation, metadata is discarded.

    Whatever is not used for the application to work, it discards, leaving only what is necessary to run the application Spring Native