升级版:解决多个dao和service的对象创建

spring-IOC管理dao层对象 动态代理
1、在spring容器中使用MapperScannerConfigurer类,查找指定包下的所有接口,动态生成代理对象;不指定id,会生成隐式id(标准对象引用名);
2、在测试类中根据隐式bean-id获取dao层对象,调用方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Go 的 web 开发中,DaoService 是两个非常重要的概念。 Dao(Data Access Object)是数据访问对象,它主要负责与数据库进行交互,完成数据的增删改查等操作。 Service 则是业务逻辑层,它对外提供服务,调用 Dao 层提供的接口进行数据操作,并对数据进行处理和转换,最终返回给 Controller 层。 下面是一个简单的示例代码,演示如何在 Go 中实现 DaoService: ``` // 定义 Dao 接口 type UserDao interface { GetUserById(id int) (*User, error) } // 实现 UserDao 接口 type UserDaoImpl struct { db *sql.DB } func NewUserDaoImpl(db *sql.DB) *UserDaoImpl { return &UserDaoImpl{db: db} } func (dao *UserDaoImpl) GetUserById(id int) (*User, error) { user := &User{} err := dao.db.QueryRow("select id, name from user where id = ?", id).Scan(&user.Id, &user.Name) if err != nil { return nil, err } return user, nil } // 定义 Service 接口 type UserService interface { GetUserById(id int) (*UserDto, error) } // 实现 Service 接口 type UserServiceImpl struct { userDao UserDao } func NewUserServiceImpl(userDao UserDao) *UserServiceImpl { return &UserServiceImpl{userDao: userDao} } func (service *UserServiceImpl) GetUserById(id int) (*UserDto, error) { user, err := service.userDao.GetUserById(id) if err != nil { return nil, err } return &UserDto{Id: user.Id, Name: user.Name}, nil } ``` 在上面的代码中,我们首先定义了一个 UserDao 接口,以及它的实现 UserDaoImpl。然后我们定义了一个 UserService 接口,以及它的实现 UserServiceImpl。在 UserServiceImpl 的实现中,我们注入了一个 UserDao 对象,以便在调用 GetUserById 方法时,可以通过 UserDao 对象访问数据库。 在实际应用中,我们可以使用依赖注入(DI)框架来自动注入依赖对象,从而避免手动创建对象和注入依赖的繁琐工作。常用的 DI 框架包括 Go Spring、Wire 等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值