使用工厂模式去进行ioc解耦
使用v1
就是使用工厂去创建对象
csharp
package com.healer.beanFactory_v1;
import com.healer.mapper.UserMapper;
import com.healer.mapper.impl.UserMapperImpl;
import com.healer.service.UserService;
import com.healer.service.impl.UserviceImpl;
/**
* @author healer
* @Description BeanFactory_v1
* @data 2024-06-13 17:14
*/
public class BeanFactory_v1 {
public static UserService getUserService() {
return new UserviceImpl();
}
public static UserMapper getUserMapper() {
return new UserMapperImpl();
}
}
使用 v2版本
加载properties进行创建对象
需要使用 user.properties
首先创建这个的作用是
需要使用工厂去创建对象
那么就需要配置对象的属性
csharp
userMapper=com.healer.mapper.impl.UserMapperImpl
userService=com.healer.service.impl.UserviceImpl
然后再 beanfactory中去创建对象
通过name去获取
这个版本获取的bean对象也不是单例的
所以引入v3版本
使用的是ioc思想
当类加载的时候 对象就以及实例化完成并加载到ioc容器中
这个容器是,map集合
然后再静态代码块中将对象加入到map容器中
此后就可以直接拿对象