初学SpringMVC 不是十分了解该框架怎么使用,如有错误,欢迎指出。
springMVC中,controller当中的仓库(repository)的初始化(或者说,注入?)应该是在构造函数之后的。并且,如果单纯的在A类中声明一个B类的对象,那么B类当中的repository应该是不能用的(我遇到的情况是这样,全部是null)
解决办法:B类当中的repository不能使用,是因为这些repository没有被初始化(或者没有被挂到对应的文件上,总之就是值为 null)。所以如果想要使用B类,那么,就要在使用B类当中的方法之前将对应的repository给予正确的值。这个有两点要求:(1)传进B类的repository必须是已经初始化了的;(2)必须在B类对象调用包含repository的方法之前进行赋值
针对这两点要求,有许多方式可以实现:比如,书写有参数的构造函数,将需要使用的仓库以参数的形式传入;或者,可以写专门的set函数,来对仓库进行初始化
当然了,也有可能是我做的小项目的框架搭建有问题,所以导致的不能使用。如果大家没有遇到过这种问题那是最好了;如果遇到了,在此提供一个参考。