spring

使用工厂模式去进行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容器中

此后就可以直接拿对象

相关推荐
玹外之音4 分钟前
Spring AI MCP 之 SSE WebFlux 实战:从零构建 AI 天气助手
spring·openai
用户579854769718 分钟前
01:系统架构全景:CountBot 多层模块化设计解析
后端
yhyyht10 分钟前
Apache Camel 框架入门记录(一)
后端
芒克芒克22 分钟前
深入浅出Java线程池(一)
java·开发语言
wuqingshun31415931 分钟前
红黑树有哪些特征
java·开发语言·jvm
fchampion1 小时前
最终一致性
java·spring·rabbitmq·github·mvc
wuqingshun3141591 小时前
说一下什么是fail-fast
java·开发语言·jvm
wuqingshun3141591 小时前
知道java NIO吗?和java IO有什么区别?
java·开发语言·jvm
AC赳赳老秦1 小时前
2026多模态技术趋势预测:DeepSeek处理图文音视频多格式数据实战指南
java·人工智能·python·安全·架构·prometheus·deepseek
芒克芒克1 小时前
深入浅出Java线程池(二)
java