Spring Framework

From My Limbic Wiki

More about Spring https://www.baeldung.com/spring-tutorial

Why Use Spring

  • Free to define application Architecture
  • Helpfull with dev and test
  • LightWeight container = class don't need interfaced to be loaded

Provide

    • Web Applications
    • RESTful services
    • Secure your web applications
    • Communicating with databases
    • Handling long running jobs
    • Handle external resources or systems you have to work with.
    • Testing purposes
    • Standalone java projects
    • Convert your application into an executable
    • Integrate Social Media into your applications
    • Quick prototype
    • To get Started

Technical

  • Loose Coupling - {@Component class > private param interface @Autowired} + {Interface > public param} + {Child class Implement}
  • Dependency Injection = instanciate Beans and wire dependancies = Spring do it automatically because of the annotation @Autowired
  • Better Unit Test

Spring Modules

Makes the code easy to write

  • JDBC
  • MVC
  • AOP
  • ORM
  • JMS
  • Test

Very good at integrating other Frameworks

  • Hibernate (ORM)
  • iBatis (Object Mapping)
  • Junit & Mockit (Test)

More

  • Let programmer focus on business logic
  • key feature is dependency management
  • enables testability
  • inversion of control
  • application context (bean factory)