文章
问答
冒泡
Spring boot中工厂模式的使用

> 本篇文章主要讲述了工厂模式在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;
    }
}
~~~

Java项目总结

关于作者

Kirito
获得点赞
文章被阅读