Java框架学习——SSM环境搭建步骤

SSM——> SpringMVC + Spring + Mybatis  

因为 Spring MVC 是 Spring 框架中的一个子模块,所以 Spring 与 SpringMVC 之间不存在整合的问题。实际上,SSM 框架的整合只涉及 Spring 与 MyBatis 的整合以及 Spring MVC 与 MyBatis 的整合。
实现 SSM 框架的整合首先需要准备 3 个框架的 JAR 包以及其他整合所需要的 JAR 包。

基础包的导入

servlet、lombok

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.6</version>
    <scope>provided</scope>
</dependency>

一、创建Maven Web项目

详情参考:https://blog.csdn.net/weixin_42067873/article/details/114265889

二、SpringMVC部分

1、导jar包

在pom.xml文件下,导入所需要的jar包

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.2.2.RELEASE</version>
</dependency>

2、在web.xml文件下配置DispatcherServlet

<servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- contextConfigLocation配置后可以修改springmvc配置文件的路径 -->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:springmvc.xml</param-value>
    </init-param>
    <!-- 配置服务器启动的时候就配置 -->
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<!-- 配置统一编码过滤器 -->
<filter>
    <filter-name>charsetFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>forceRequestEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>charsetFilter</filter-name>
    <url-pattern>*</url-pattern>
</filter-mapping>

注:src目录下的 resources目录 和 java目录本质上是同一个目录,在开发阶段表面上它们是两个不同的目录,但是在运行阶段,target中会将这两个目录合并为同一个目录,成为classes目录,所有classpath指的是运行期间代指这两个目录(resources、java)

3、配置springmvc的配置文件(springmvc.xml)

(1)导入视图解析器需要使用到的jstl包

配置文件中需要配置视图解析器,所以需要导入 jstl 包

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

(2)配置文件

<!-- 开启注解驱动 -->
<mvc:annotation-driven></mvc:annotation-driven>
<!-- 扫描Controller所在的包 -->
<context:component-scan base-package="com.hanmh.controller"></context:component-scan>
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/pages/"></property>
    <property name="suffix" value=".jsp"></property>
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
</bean>

注:<context:component-scan base-package="com.hanmh"></context:component-scan>

 只有在IOC中扫包时,才能扫描出对应的子包内容

至此,可以先写一个简单的测试Controller,测试下SpringMVC环境搭建的情况

三、Spring部分

注:Spring在扫包时,放的是父包的话,会扫描对应包下所有的子包

即:<context:component-scan base-package="com.hanmh"></context:component-scan>

1、配置文件创建(resources目录下)

在resources目录下,创建Spring配置文件,行业内一般起名为applicationContext.xml

2、配置监听器(web.xml中配置)

首先,现在web.xml文件中配置监听器,使得在服务器刚启动后就加载spring的配置文件

<!-- 告知服务器配置文件的位置 -->
<context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath:applicationContext.xml</param-value>
</context-param>

<!-- 配置监听器,在服务器启动后就加载配置文件 -->
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

四、Mybatis集成到Spring中

1、导包

需要导入 mybatis、mybatis-spring、druid、mysql 

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.2</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.21</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.39</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.5</version>
</dependency>

(1)spring和mybatis集成还需要导入 spring-orm 包

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>5.2.2.RELEASE</version>
</dependency>

2、在spring配置文件中配置相关信息(applicationContext.xml)

<!-- 连接池 -->
<bean id="datasource" class="com.alibaba.druid.pool.DruidDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
    <property name="url" value="jdbc:mysql://localhost:3306/aaa?useUnicode=true&amp;charasetEncoding=UTF8"></property>
    <property name="username" value="root"></property>
    <property name="password" value="hanmenghao"></property>
    <!-- 初始状态创建的连接数量 最小值 -->
    <property name="minIdle" value="10"></property>
    <!-- 支持连接的最大数-->
    <property name="maxActive" value="20"></property>
</bean>

<!-- 配置SqlsessionFactry   ref:对象赋值-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="datasource"></property>
    <!-- 别名包 在加载value对应下的类时,不需要加前面的com.hanmh.pojo -->
    <property name="typeAliasesPackage" value="com.hanmh.pojo"></property>
</bean>

<!-- 配置扫描器 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <!-- 扫描接口所在的包 此处必须配置为dao下 -->
    <property name="basePackage" value="com.hanmh.dao"></property>
</bean>

五、导入工具包(duracloud)

该工具包提供日志输出功能,方便查看问题的出处

<dependency>
    <groupId>org.duracloud</groupId>
    <artifactId>common</artifactId>
    <version>7.0.0</version>
</dependency>

注:运行时,报错 classNotFound 一定是缺少对应的jar包

猜你喜欢

转载自blog.csdn.net/weixin_42067873/article/details/114310324