配置 Web 环境

image.png
image.png
image.png
image.png
image.png
image.png
接下来把 pom.xml 中该删的删除后留下这些东西:
image.png
然后导入相应的依赖:
spring 依赖:输入 spring-context
mysql 依赖:输入 mysql-connector-java
druid 依赖 :输入 druid
junit 依赖:输入 junit 并去掉 范围
Spring 集成 junit 依赖:输入 spring-test
要想使用 @Resource 注解,还得导入 javax.annotation-api 依赖
因为是 Web 环境,还得配置 Servlet 和 JSP 的相关依赖:javax.servlet-apijavax.servlet.jsp-api
全部的依赖如下:
经过下面的学习,还需要导入一个 spring-web 依赖,用于提供监听器让服务器一启动就自动获取到 ApplicationContext 对象

  1. <dependency>
  2. <groupId>org.springframework</groupId>
  3. <artifactId>spring-context</artifactId>
  4. <version>5.0.5.RELEASE</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>mysql</groupId>
  8. <artifactId>mysql-connector-java</artifactId>
  9. <version>8.0.25</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>com.alibaba</groupId>
  13. <artifactId>druid</artifactId>
  14. <version>1.1.10</version>
  15. </dependency>
  16. <dependency>
  17. <groupId>junit</groupId>
  18. <artifactId>junit</artifactId>
  19. <version>4.11</version>
  20. <scope>test</scope>
  21. </dependency>
  22. <dependency>
  23. <groupId>org.springframework</groupId>
  24. <artifactId>spring-test</artifactId>
  25. <version>5.0.5.RELEASE</version>
  26. </dependency>
  27. <dependency>
  28. <groupId>javax.annotation</groupId>
  29. <artifactId>javax.annotation-api</artifactId>
  30. <version>1.3.2</version>
  31. </dependency>
  32. <dependency>
  33. <groupId>javax.servlet</groupId>
  34. <artifactId>javax.servlet-api</artifactId>
  35. <version>3.0.1</version>
  36. </dependency>
  37. <dependency>
  38. <groupId>javax.servlet.jsp</groupId>
  39. <artifactId>javax.servlet.jsp-api</artifactId>
  40. <version>2.2.1</version>
  41. </dependency>
  42. <dependency>
  43. <groupId>org.springframework</groupId>
  44. <artifactId>spring-web</artifactId>
  45. <version>5.0.5.RELEASE</version>
  46. </dependency>

然后配置一些简单的注解配置:
创建核心配置文件:
image.png
dao 层:
image.png
service 层:
image.png


以上就是目前为止学过的,可以配置的,接下来开始配置 Web 层:
image.png
特别注意 @WebServlet 注解里面要加个斜杆 / !!!!
image.png


之后呢这个项目因为是 Web 项目,要想访问到,就得用 Tomcat 发布,然后用 Http 协议去访问,现在要做的就是要把这个工程发布到 Tomcat :
image.png
下面这个蓝色字体也点一下,Tomcat 图标就可以出来了!
image.png
image.png
image.png
image.png
image.png
输入以下:
image.png
成功访问到此 userServlet !
并且 dao 层 service 层 都是使用 Spring 全注解的方式实现的!牛逼!
image.png

让服务器一启动就获取到 Spring 容器

1. 需求分析

image.png
image.png
所以说,之前学习的监听器的用途在这呀!!!

2. 自定义ContextLoaderListener

image.png
然后在 Servlet 中取出来就行了:
image.png
代码优化:
但可以看到,取出来的时候需要提供 “app” 这个名字,被耦合死了,相当于我们每一个开发这个项目的人员都得记住这个名字,所以我们可以设计一个工具类的一个静态方法,来直接获取到这个 ServletContext :
image.png
image.png
接下来就可以测试了:
成功!
服务器一启动,Spring 容器就被创建好了:
image.png
image.png

*3. 以上代码 Spring 都帮你进行相应的封装了(干!我自己去实现了一把!)

需要在 web.xml 中去配置!
image.png
image.png
导入依赖:
image.png
它教的是用配置文件的形式整的,我用的是全注解的形式,所以我就暂且再创建一个 Spring 配置文件试试看吧:image.png
image.png
image.png
然后在 Servlet 中获取:
image.png
运行失败,害,因为我用的是全注解的方式,但是他教的是用配置文件整的,先过!
image.png