当前位置:网站首页>SSM整合
SSM整合
2022-06-23 06:18:00 【io无心】
新建项目->选择java Enterprise,project template选择WEB Application->填写项目信息->完成。
新建成功后项目会自动添加servlet-api与juint的jar包。
添加mybatis依赖
<!--mysql依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.24</version>
</dependency>
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!--lombok依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>创建mybatis的配置文件
在resources目录下创建mybatis-config.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration>部署Spring和SpringMVC
添加Spring和SpringMVC的依赖
<!--固定版本号,写到project标签中-->
<properties>
<spring-version>5.2.13.RELEASE</spring-version>
</properties>
<!--Spring-IOC的依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring-version}</version>
</dependency>
<!--Spring-AOP的依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring-version}</version>
</dependency>
<!--spring整合mybatis提供事务支持-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring-version}</version>
</dependency>
<!--spring单元测试-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring-version}</version>
</dependency>
<!--spring整合mybatis提供事务支持-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring-version}</version>
</dependency>
<!--SpringMVC的包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring-version}</version>
</dependency>
<!--SpringMVC的包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring-version}</version>
</dependency>
<!--SpringMVC用于解析JSON的包-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.2.2</version>
</dependency>
<!--spring整合mybatis的依赖-->
<dependency>
<groupId>com.rainingsince</groupId>
<artifactId>spring-mybatis</artifactId>
<version>0.1.1</version>
</dependency>创建Spring配置(多配置文件分开配置)
1、spring-context.xml 只配置注解声明一级类的管理(IOC)。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!--声明spring工程的扫描范围-->
<context:component-scan base-package="xin.students"/>
<!--声明使用注解配置-->
<context:annotation-config/>
</beans>2、spring-mvc.xml 进行mvc相关的配置,静态资源配置和拦截器配置等。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
<!--使用注解配置-->
<mvc:annotation-driven/>
</beans>3、spring-mybatis.cml 进行Spring与Mybatis整和相关的配置。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
</beans>配置SpringMVC前端控制器
在web.xml中配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!--配置springmvc的前端控制器-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<!--加载根目录所有spring-开头的配置文件-->
<param-value>classpath:spring-*.xml</param-value>
</init-param>
<!--加载优先级1,最先加载-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>Spring与mybatis的IOC配置
配置durid
添加依赖
<!--添加阿里巴巴的数据库连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>在resources下创建druid.properties为druid的配置文件。
druid.driver=com.mysql.cj.jdbc.Driver
druid.url=jdbc:mysql:///数据库名?useSSL=false&serverTimezone=UTC
druid.username=你的数据库账号
druid.password=你的数据库密目
druid.pool.init=100
druid.pool.minIdle=50
druid.pool.maxActive=300
druid.pool.timeout=30000
在spring-mybatis中配置druid。
<!--加载druid的配置文件,这个标签只能用一次,多文件配置中,这里使用了,其它的配置文件就不能使用了-->
<context:property-placeholder location="classpath:druid.properties"/>
<!--给druid配置连接信息-->
<bean id="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${druid.driver}"/>
<property name="url" value="${druid.url}"/>
<property name="username" value="${druid.username}"/>
<property name="password" value="${druid.password}"/>
<property name="initialSize" value="${druid.pool.init}"/>
<property name="minIdle" value="${druid.pool.minIdle}"/>
<property name="maxActive" value="${druid.pool.maxActive}"/>
<property name="maxWait" value="${druid.pool.timeout}"/>
</bean>配置SqlSessionFactory
在spring-mybatis.xml中配置。
<!--用于mybatis与数据库连接-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--加载数据库连接池-->
<property name="dataSource" ref="druidDataSource"/>
<!--导入所有mybatis接口类的配置文件-->
<property name="mapperLocations" value="classpath:mappers/*.xml"/>
<!--给该包下的所有类自动起别名,名称为类名首字母小写-->
<property name="typeAliasesPackage" value="xin.students.ssmconformity"/>
<!--加载mybatis的主配置文件-->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>配置MapperScannerConfigurer
在spring-mybatis.xml中配置。
<!--把DAO创建成对象放到spring中-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!--注入sqlSessionFaction-->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<!--dao所在的包,自动扫描-->
<property name="basePackage" value="xin.students.dao"/>
</bean>Spring与mybatis的AOP配置
使用Spring提供操作DAO的事务管理,这里使用的是基于注解的。
<!--添加事务管理类-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--注入数据源-->
<property name="dataSource" ref="druidDataSource"/>
</bean>
<!--开启自动事务管理-->
<tx:annotation-driven transaction-manager="transactionManager"/>
Spring单元测试
package xin.students.dao;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import xin.students.pojo.Student;
import javax.annotation.Resource;
import java.util.Arrays;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:spring-context.xml", "classpath:spring-mvc.xml", "classpath:spring-mybatis.xml"})
//如果是单个文件 @ContextConfiguration("classpath:spring-mybatis.xml")
public class testTest {
@Resource
private StudentDao studentDao;
@Test
public void query() {
System.out.println("-----------------------------------------");
Student[] query = studentDao.query();
for (Student s : query) {
System.out.println("---------------" + s);
}
}
}边栏推荐
- cmder
- 295. 数据流的中位数
- core.js是什么---kalrry
- excel高级绘图技巧100讲(八)-Excel绘制WIFI图
- Centos7 MySQL records
- Problem: when the attribute in the data object (defined data) in the access component is also the attribute in the object object, an error is reported
- 900. RLE 迭代器
- How to migrate virtual machines from VirtualBox to hype-v
- [project training] multi segment line expanded to parallel line
- Run typescript code directly using TS node
猜你喜欢
随机推荐
【项目实训】多段线扩充为平行线
Too much if logic in JS, common optimization
Add IPAD control function into shairplay
2022年养老理财产品有哪些?风险小的
[project training] multi segment line expanded to parallel line
300. 最长递增子序列
901. 股票价格跨度
[saison de remise des diplômes · technologie agressive er] votre choix, agenouillez - vous et partez
关于五险一金你需要知道的事情
【日常训练】513. 找树左下角的值
mysql 优化
Concepts and differences of DQL, DML, DDL and DCL
反鸡汤致辞
MySQL redo log redo log
centos7 mysql 记录
产品-Axure9(英文版),原型设计后台动态二级菜单显示内容
406-双指针(27. 移除元素、977.有序数组的平方、15. 三数之和、18. 四数之和)
XML schema record
QT method of compiling projects using multithreading
Wechat applet - Global Monitoring of certain attribute changes of GlobalData, such as monitoring of network state switching






![[project training] multi segment line expanded to parallel line](/img/f2/ee4985fd2454bf00d600e34a818f2d.png)


