What Is Spring Framework?

What Is Spring Framework?

Software Engineering a.a. 2019-2020 Introduction to Spring Framework Prof. Luca Mainetti Università del Salento Roadmap ■ Introduction to Spring ■ Dependency Injection and IoC ■ Bean ■ AoP ■ Module Architecture Introduction to Spring Framework 2 Luca Mainetti What Is Spring Framework? ■ Spring is the most popular application development framework for Java enterprise ■ Open source Java platform since 2003. ■ Spring supports all main application servers and JEE standards ■ Spring handles the infrastructure so you can focus on your application ■ Current version: 5.0.X Introduction to Spring Framework 3 Luca Mainetti What does Spring offer? ■ Dependency Injection – Also known as IoC (Inversion of Control) ■ Aspect Oriented Programming – Runtime injection-based ■ Portable Service Abstractions – The rest of spring • ORM, DAO, Web MVC, Web, etc. • Allows access to these without knowing how they actually work Introduction to Spring Framework 4 Luca Mainetti Dependency Injection ■ The technology that actually defines Spring (Heart of Spring). ■ Dependency Injection helps us to keep our classes as indepedent as possible. – Increase reuse by applying low coupling – Easy testing – More understandable An injection is the passing of a dependency (a service) to a dependent object (a client). Passing the service to the client, rather than allowing a client to build or find the service, is the fundamental requirement of the pattern. Introduction to Spring Framework 5 Luca Mainetti Dependency Injection and Inversion of Control (IoC) In software engineering, inversion of control (IoC) describes a design in which custom-written portions of a computer program receive the flow of control from a generic, reusable library. ■ The Inversion of Control (IoC) is a general concept, and it can be expressed in many different ways and dependency Injection is merely one concrete example of Inversion of Control. Introduction to Spring Framework 6 Luca Mainetti IoC container ■ The Spring container (IoC Container) is the core of the Spring Framework. ■ The container will create the objects, wire them together, configure them, and manage their complete lifecycle from creation till destruction Introduction to Spring Framework 7 Luca Mainetti IoC container ■ The container gets its instructions on what objects to instantiate, configure, and assemble by reading configuration metadata provided. ■ The configuration metadata can be represented either by: – XML – Java annotations – Java code. Introduction to Spring Framework 8 Luca Mainetti What is a Bean? ■ Typical java bean with a unique id ■ In spring there are basically two types – Singleton • One instance of the bean created and referenced each time it is requested – Prototype (non-singleton) • New bean created each time • Same as new ClassName() ■ A Spring IoC container manages one or more beans ■ Beans are normally created by Spring as late as possible Introduction to Spring Framework 9 Luca Mainetti Aspect Oriented Programming (AOP) ■ AOP entails breaking down program logic into distinct parts called concerns. ■ The functions that span multiple points of an application are called cross-cutting concerns and these cross-cutting concerns are conceptually separate from the application's business logic. ■ AOP is like triggers in programming languages such as Perl, .NET, Java and others. ■ Examples of cross-cutting concerns: – Logging – Security – Transaction – Caching Introduction to Spring Framework 10 Luca Mainetti Aspect Oriented Programming (AOP) ■ Cross-cutting T r S BookingServiceL a e n c o g s u a r g UserServicei c i t t n g i y o CommentService n Introduction to Spring Framework 11 Luca Mainetti Aspect Oriented Programming (AOP) Introduction to Spring Framework 12 Luca Mainetti Spring Modules ■ The Spring Framework consists of features organized into about 20 modules. ■ These modules are grouped into Core Container, Data Access/Integration, Web, AOP (Aspect Oriented Programming), Instrumentation, and Test. Introduction to Spring Framework 13 Luca Mainetti.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    13 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us