SpringData Repository接口(二)

SpringData Repository接口(二)



然后发现

SpringData Repository接口(二)




添加source

SpringData Repository接口(二)



然后发现Repository是一个空接口

SpringData Repository接口(二)



这里的Serializable也是一个空接口,当我们的一个类实现了这个Serializable接口,他就可以被序列化与反序列化。

SpringData Repository接口(二)



那么,当我们的一个类实现了Repository以后,它会有什么神奇的功能呢?

1、Repository是一个空接口,即使一个标记接口。

2、若我们定义的接口继承了Repository,则该接口就会被IOC容器识别为一个Repository Bean,

纳入到IOC容器中,进而可以在改接口定义满足一定规范的方法。

a、有人可能会说,这是个接口怎么纳入到IOC容器中呀?实际上IOC容器里面放的是这个接口的一个实现类,

那个实现类是spring帮我们实现的~

b、测试

我们可以通过测试方法把这个bean给获取出来,它实际上是一个代理。

SpringData Repository接口(二)

SpringData Repository接口(二)


3、然后我们可以进行声明方法,其实声明方法不是随便声明的,需要满足一定的条件,满足什么条件呢?下篇文章再讲。


4、那么这个PersonRepository是如何被纳入到IOC容器里面的呢?实际上需要满足两个条件。

我们找到IOC容器的配置,

SpringData Repository接口(二)


用这个注解也可以跑起来,没问题。

SpringData Repository接口(二)





对着Repository在eclipse按ctrl+T 可以显示Repository接口的所有子接口

SpringData Repository接口(二)





SpringData Repository接口(二)