> 本篇文章主要讲述了工厂模式在spring boot中的使用
### 一、创建一个接口
~~~
public interface LoginInterface {
Object login(Object object);
Object register(Object object);
}
~~~
### 二、创建一个工厂类
~~~java
@Service
public class LoginFactory {
@Autowired
private Map<String, LoginInterface> loginServiceMap = new ConcurrentHashMap<>();
public LoginInterface getLogin(String key) {
return loginServiceMap.get(key);
}
}
~~~
### 三、创建若干接口实现类
~~~java
@Component("sysLogin") // 其值为此实现类的键
@AllArgsConstructor
public class SystemLogin implements LoginInterface { // 一定要继承上述接口
@Override
public Object login(Object object) {
// doSomething
return null;
}
@Override
public UserTable register(Object object) {
return null;
}
}
~~~
### 四、调用工厂模式
~~~java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private LoginFactory loginFactory;
/**
* 用户登录
* @return
*/
@PostMapping("/login")
public Result login(String loginType) {
// loginType的值与实现类中@Component注解中的值一致,即可调用对应的实现类
LoginInterface loginInterface = loginFactory.getLogin(loginType);
loginInterface.login();
return null;
}
}
~~~