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)