Spring — Factory Pattern | Code Factory
Donate : Link
WordPress Blog : Link
Applications… : Link
Spring Tutorial Index Page: Link
- What is factory and use of factory?
- We use to create object of other classes.
- * Factory classes main aim is to they will make clients independent by returning object in the form of Interface reference.
- * Example: DriverManager is a factory class. Connection is an interface. DriverManager.getConnection() method will return object of Connection irrespective of database. Same code is use for any database so it will making us database independent.
- By factory we will hide object creation logic.
- * Logger is a static factory and SessionFactory is a instance factory.
- Some points of factory
- Hide instantiation logic
- By returning instance into Interface reference Factory will make clients independent irrespective of implementation - Many databases given implementation for Connection interface.
interface Car {
public void drive();
}
class CarFactory {
private CarFactory() {
}
public static Car getCar(String carName) {
return (Car) Class.forName(carName).newInstance();
}
}
class JLR implements Car {
public void drive() {
sop("Maximum speed is 250");
}
}
class Audi implements Car {
public void drive() {
sop("Maximum speed is 200");
}
}
class Test {
psvm(String args[]) {
Car c = CarFactory.getCar("JLR");
}
}
- To implement factories in Spring we have 3 approaches.
- Spring — Static Factories
- Spring — Instance Factories
- Spring — FactoryBean