[Spring]: Inversion of Control

spring

08/12/2019


Example wihout IoC

Define interface

JAVA
public interface Player{
public String getWorkout();
}

Define class implements Player

JAVA
public class SoccerPlayer implements Player{
@Override
public String getWorkout() {
return "kick the ball 100 times";
}
}

Class with main method

JAVA
public class Demo {
public static void main(String[] args) {
Player player = new SoccerPlayer();
System.out.println(player.getWorkout());
}
}
  • Above snippets are basic object-oriented programming without using Spring's inversion of control
  • Spring allows the app to be more configurable
  • For example, if I want to create another sub-class BasketballPlayer the code need to be hardcoded as:
JAVA
Player player = new BasketballPlayer();
  • But with the use of Inversion of Control, we can read the implementation name from a config file without changing the sourcecode

Examples with IoC:

Link: xml configuration


WRITTEN BY

Keeping a record