其他分享
首页 > 其他分享> > spring学习 (二)

spring学习 (二)

作者:互联网

1.建立 单纯的一个 spring项目
idea 建立项目选择Spring ,待建立完成之后 ,在WEB-INF 下面建立一个lib文件夹 ,将原本的lib转移到这里 ,添加配置 在这里插入图片描述
在这里插入图片描述
lib中放入各个需要的jar包
2.建立好自己的 Spring-config.xml 默认名字为 applicationContext.xml
为了能够在启动时 ,就能够初始化spring ioc容器 ,必须要在 web.xml
中设置好监听器 默认的applicationContext.xml 应该在src的直接目录下 ,如果不在 (或者名字不是默认的名字 ) 则必须要配置路径 告诉 其所在位置
在这里插入图片描述
在这里插入图片描述
配置路径时,可以配置多个applicationContext.xml ,如上图所示

切记 !!!
你所配置的 applicationContext.xml一定格式要正确 ,否则在 运行 tomcat服务器时 服务会跑不起来 在这里浪费了大量时间

此时没有其他问题(例如jar包没有导入完整) 的话,配置tomcat服务器,你就能正确的运行了

3.简单的使用spring 模拟mvc的工作情况
在这里插入图片描述
建立dao层,service 层 ,控制层 。
《注意此处要配置好servlet在这里插入图片描述

在applicatioContext.xml 注入 bean
这里使用了set方法注入的方式,也可以使用 构造器注入 ,但是一定要有无参构造方法

在这里插入图片描述
由于上述的配置,只是在spirng的ioc容器中得到了 这些对象,但是 web(tomcat) 的容器中并没有,此时如果运行 就会 报空指针错误。所以要将 ioc容器与web容器连接起来
重写servlet 中的init() 方法

  @Override
    //初始化时 将获取 springioc容器中的对象
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        ApplicationContext context =new ClassPathXmlApplicationContext("applicationContext-Dao.xml");
        studentService = (IStudentService)context.getBean("StudentServiceImpl");
        System.out.println(studentService);


    }

连接完成之后,在这里插入图片描述
中的IStudentService studentService; 就被注入了,可以使用获得对应的信息

  protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {

       String name =  studentService.queryStudentById();
        System.out.println(studentService);
       request.setAttribute("name",name);
       request.getRequestDispatcher("res.jsp").forward(request,response);//重定向

    }

使用转发重定向到 res.jsp页面中即可

  1. 结果
    现在我们试着跑一下猫猫
    在这里插入图片描述在这里插入图片描述
    res.jsp
    在这里插入图片描述在这里插入图片描述

终于能够成功跑起来了~~~~~~~~~在这里插入图片描述

标签:xml,applicationContext,容器,spring,学习,servlet,studentService
来源: https://blog.csdn.net/Hqxcsdn/article/details/88533640