默默Silence 2020-07-24 17:53 采纳率: 100%
浏览 2193
已采纳

定义了一个MyMetaObjectHandler类,加了component注解,不明白这个类是如何被调用的

0、项目结构:
图片说明

1、写了个测试类,测试类里面调用userMapper(继承basemapper类)进行插入数据

    @Test
    public void testInsert() throws Exception{

        User user = new User();
        user.setAge(43);
        user.setEmail("72@qq.com");
        user.setName("ni");
//            userMapper.selectList(null);
        int res = userMapper.insert(user);
        System.out.println(res);
        System.out.println(user);

    }

userMapper:

@Repository
public interface UserMapper extends BaseMapper<User> {
}

2、MyMetaObjectHandler实现了MetaObjectHandler接口

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    @Override
    public void insertFill(MetaObject metaObject){

        this.setFieldValByName("createTime",new Date(), metaObject);
        this.setFieldValByName("updateTime",new Date(), metaObject);

        System.out.println("我被执行了");
    }
    @Override
    public void updateFill(MetaObject metaObject) {


        this.setFieldValByName("updateTime",new Date(), metaObject);
    }
}

3、输出结果
图片说明

4、这是在什么时候执行了MyMetaObjectHandler类,如果我只是在测试类里面查询数据,不进行插入操作,就不会输出“我被执行了”

  • 写回答

2条回答 默认 最新

  • i__0o0__ 2020-07-27 15:48
    关注

    spring自动扫描加载的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?