新建JavaWeb项目

image.png
我们使用maven模板新建java web项目。
现在项目目录的结构如下:
image.png
使用tomcat运行后,页面如下:
image.png
然后我们再添加两个文件夹,分别是java源代码的文件夹和资源文件夹,如下图:
image.png

整合Spring框架

添加依赖

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework</groupId>
  4. <artifactId>spring-core</artifactId>
  5. <version>5.3.1</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.springframework</groupId>
  9. <artifactId>spring-context</artifactId>
  10. <version>5.3.1</version>
  11. </dependency>
  12. <dependency>
  13. <groupId>org.springframework</groupId>
  14. <artifactId>spring-beans</artifactId>
  15. <version>5.3.1</version>
  16. </dependency>
  17. <dependency>
  18. <groupId>junit</groupId>
  19. <artifactId>junit</artifactId>
  20. <version>4.13</version>
  21. </dependency>
  22. <dependency>
  23. <groupId>org.springframework</groupId>
  24. <artifactId>spring-aop</artifactId>
  25. <version>5.3.1</version>
  26. </dependency>
  27. <dependency>
  28. <groupId>org.aspectj</groupId>
  29. <artifactId>com.springsource.org.aspectj.weaver</artifactId>
  30. <version>1.6.4.RELEASE</version>
  31. </dependency>
  32. <!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects -->
  33. <dependency>
  34. <groupId>org.springframework</groupId>
  35. <artifactId>spring-aspects</artifactId>
  36. <version>5.0.0.RELEASE</version>
  37. </dependency>
  38. <!-- mybatis核心包 -->
  39. <dependency>
  40. <groupId>org.mybatis</groupId>
  41. <artifactId>mybatis</artifactId>
  42. <version>3.5.6</version>
  43. </dependency>
  44. <!-- mybatis/spring包 -->
  45. <dependency>
  46. <groupId>org.mybatis</groupId>
  47. <artifactId>mybatis-spring</artifactId>
  48. <version>2.0.5</version>
  49. </dependency>
  50. <dependency>
  51. <groupId>mysql</groupId>
  52. <artifactId>mysql-connector-java</artifactId>
  53. <version>5.1.30</version>
  54. </dependency>
  55. </dependencies>

我们首先添加一些基本的依赖

修改web.xml

为了将spring和spring mvc整合到java web项目中,我们需要设置一个监听器和设置一个servlet。
监听器是监听java web项目初始化,我们需要初始化spring容器,这个容器不会处理controller层,只会处理其他的基础bean。
servlet是DispatherServlet,是Spring框架中包含的一个servlet,他是一个SpringMVC容器,是刚刚初始化的spring容器的子容器,该容器中只包含一些controller层的bean,这些bean能够访问spring容器中的bean(dao层和service层),但是spring容器中的bean不能访问springmvc容器中的bean。

  1. <listener>
  2. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  3. </listener>
  4. <context-param>
  5. <param-name>contextConfigLocation</param-name>
  6. <param-value>classpath:config/spring-context.xml</param-value>
  7. </context-param>
  8. <servlet>
  9. <servlet-name>ebook-manage</servlet-name>
  10. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  11. <init-param>
  12. <param-name>contextConfigLocation</param-name>
  13. <param-value>classpath:config/spring-servlet.xml</param-value>
  14. </init-param>
  15. <load-on-startup>1</load-on-startup>
  16. <async-supported>true</async-supported>
  17. </servlet>
  18. <servlet-mapping>
  19. <servlet-name>ebook-manage</servlet-name>
  20. <url-pattern>/</url-pattern>
  21. </servlet-mapping>

我们看到这里有两个配置文件分别是 spring-context.xmlspring-servlet.xml

配置spring容器

我们通过spring-context文件配置spring容器
spring容器中主要有dao层和service层。

dao层

配置项有数据库连接池、mybatis sqlSessionFactory对象、mapper接口扫描

service层

service层配置项有包扫描、事务管理器、配置事务切面

配置spring mvc容器

开启注解、设置视图解析器(ViewResolver)。