点击超连接,执行controller里面的方法
那么就需要在Controller里面定义Service对象,就需要依赖注入进来。
启动tomcat服务器,web.xml里面的前端控制器会帮我加载springmvc.xml这个配置文件
springmvc.xml里面配置的扫描 只扫描了Controller的注解。别的不扫描
Spring的配置文件从头到尾就没有加载过。,ApplicationContext.xml 没加载过。里面的扫描也就没生效。
那么serviceImpl这个类就没有加载到IOCD的容器中
那么我们就需要在启动服务器的时候把spring的配置ApplicationContext.xml也加载。里面的加载扫描生效。那么Service就会被放到IOC的容器中去。
ServletContext只会被创建一次
pom.xml里面 导包的这个 spring-web提供了一个类。监听器
配置监听器
去搜索这个类
复制完整的包路径
监听ServletContext的创建和销毁
这里面有context的两个方法,一个是初始化,一个是销毁的方法
默认只加载WEB-INF这个目录下的applicationContext.xml这个文件。别的目录的文件不加载。
但是我们当前的文件放在了resources的目录下
一种方式是复制一份applicationContext.xml复制到WEB_INF的目录下
第二种方式。设置配置文件的路径。context-param的标签
表明加载类路径下的applicationContext.xml文件。
再启动服务器就会把Spring的配置文件也加载上了。这样Service和Controller都放到容器中了。
依赖注入
注入Service类然后,调用findAll的方法
这样Spring整SpringMvc就成功了。
过程就是 启动服务器加载Spring的配置文件。然后注入Service类。