Spring Framework: Difference between revisions

From My Limbic Wiki
 
(3 intermediate revisions by the same user not shown)
Line 5: Line 5:
* LightWeight container = class don't need interfaced to be loaded
* LightWeight container = class don't need interfaced to be loaded
= Provide =
= Provide =
** Web Applications
* Web Applications
** RESTful services
* RESTful services
** Secure your web applications
* Secure your web applications
** Communicating with databases
* Communicating with databases
** Handling long running jobs
* Handling long running jobs
** Handle external resources or systems you have to work with.
* Handle external resources or systems you have to work with.
** Testing purposes
* Testing purposes
** Standalone java projects
* Standalone java projects
** Convert your application into an executable
* Convert your application into an executable
** Integrate Social Media into your applications
* Integrate Social Media into your applications
** Quick prototype
* Quick prototype
** To get Started
* To get Started
 
=Technical=
=Technical=
* Loose Coupling - {'''@Component''' class > private param interface '''@Autowired'''} + {'''Interface''' > public param} + {Child class '''Implement'''}
* Loose Coupling - {'''@Component''' class > private param interface '''@Autowired'''} + {'''Interface''' > public param} + {Child class '''Implement'''}
Line 23: Line 24:
= Spring Modules =
= Spring Modules =
Makes the code easy to write
Makes the code easy to write
** JDBC
* JDBC
** MVC
* MVC
** AOP
* AOP
** ORM
* ORM
** JMS
* JMS
** Test
* Test


= Very good at integrating other Frameworks =
= Very good at integrating other Frameworks =
** Hibernate (ORM)
* [[Hibernate]] (ORM)
** iBatis (Object Mapping)
* iBatis (Object Mapping)
** Junit & Mockit (Test)
* Junit & Mockit (Test)
 
=More=
=More=
* Let programmer focus on business logic
* Let programmer focus on business logic

Latest revision as of 22:13, 20 September 2019

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)