当前位置:网站首页>SSM integration
SSM integration
2022-06-23 07:12:00 【IO unintentional】
New projects -> choice java Enterprise,project template choice WEB Application-> Fill in project information -> complete .
The project will be automatically added after the new project is successfully created servlet-api And juint Of jar package .
add to mybatis rely on
<!--mysql rely on -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.24</version>
</dependency>
<!--mybatis rely on -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!--lombok rely on -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>establish mybatis Configuration file for
stay resources Create under directory mybatis-config.xml file
<?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>Deploy Spring and SpringMVC
add to Spring and SpringMVC Dependence
<!-- Fixed version number , writes project In the label -->
<properties>
<spring-version>5.2.13.RELEASE</spring-version>
</properties>
<!--Spring-IOC Dependence -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring-version}</version>
</dependency>
<!--Spring-AOP Dependence -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring-version}</version>
</dependency>
<!--spring Integrate mybatis Provide transaction support -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring-version}</version>
</dependency>
<!--spring unit testing -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring-version}</version>
</dependency>
<!--spring Integrate mybatis Provide transaction support -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring-version}</version>
</dependency>
<!--SpringMVC My bag -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring-version}</version>
</dependency>
<!--SpringMVC My bag -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring-version}</version>
</dependency>
<!--SpringMVC For parsing JSON My bag -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.2.2</version>
</dependency>
<!--spring Integrate mybatis Dependence -->
<dependency>
<groupId>com.rainingsince</groupId>
<artifactId>spring-mybatis</artifactId>
<version>0.1.1</version>
</dependency>establish Spring To configure ( Multiple configuration files are configured separately )
1、spring-context.xml Only configure the management of annotation declaration class (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">
<!-- Statement spring Scanning range of the project -->
<context:component-scan base-package="xin.students"/>
<!-- Declare configuration using annotations -->
<context:annotation-config/>
</beans>2、spring-mvc.xml Conduct mvc Related configuration , Static resource configuration and interceptor configuration .
<?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">
<!-- Configure with annotations -->
<mvc:annotation-driven/>
</beans>3、spring-mybatis.cml Conduct Spring And Mybatis Integration and related configuration .
<?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>To configure SpringMVC Front controller
stay web.xml Middle configuration
<?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">
<!-- To configure springmvc Front end controller for -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- Load all of the root directory spring- The profile at the beginning -->
<param-value>classpath:spring-*.xml</param-value>
</init-param>
<!-- Load priority 1, Load first -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>Spring And mybatis Of IOC To configure
To configure durid
Add dependency
<!-- Add Alibaba's database connection pool -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>stay resources Create druid.properties by druid Configuration file for .
druid.driver=com.mysql.cj.jdbc.Driver
druid.url=jdbc:mysql:/// Database name ?useSSL=false&serverTimezone=UTC
druid.username= Your database account
druid.password= Your database secret
druid.pool.init=100
druid.pool.minIdle=50
druid.pool.maxActive=300
druid.pool.timeout=30000
stay spring-mybatis Middle configuration druid.
<!-- load druid Configuration file for , This label can only be used once , In multi file configuration , It's used here , Other configuration files cannot be used -->
<context:property-placeholder location="classpath:druid.properties"/>
<!-- to druid Configure connection information -->
<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>To configure SqlSessionFactory
stay spring-mybatis.xml Middle configuration .
<!-- be used for mybatis Connect to database -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- Load database connection pool -->
<property name="dataSource" ref="druidDataSource"/>
<!-- Import all mybatis Configuration file of interface class -->
<property name="mapperLocations" value="classpath:mappers/*.xml"/>
<!-- Automatically alias all classes under the package , The name is lowercase -->
<property name="typeAliasesPackage" value="xin.students.ssmconformity"/>
<!-- load mybatis Primary profile for -->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>To configure MapperScannerConfigurer
stay spring-mybatis.xml Middle configuration .
<!-- hold DAO Create as an object spring in -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- Inject sqlSessionFaction-->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<!--dao The bag where it is , Automatic scanning -->
<property name="basePackage" value="xin.students.dao"/>
</bean>Spring And mybatis Of AOP To configure
Use Spring Provide operation DAO Transaction management of , Annotation based is used here .
<!-- Add a transaction management class -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- Inject data source -->
<property name="dataSource" ref="druidDataSource"/>
</bean>
<!-- Turn on automatic transaction management -->
<tx:annotation-driven transaction-manager="transactionManager"/>
Spring unit testing
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"})
// If it's a single file @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);
}
}
}边栏推荐
- 897. incremental sequential search tree
- NPM download error NPM err code error
- 20220620 uniformly completely observable (UCO)
- 312. poke the balloon
- js 判断两个数组增加和减少的元素
- Specific help of OSI layered model to work
- Traversal of binary tree and related knowledge
- Learning and using quartz scheduling framework
- 都是硬盘分区 C盘和D盘到底有什么区别?
- Vs2013 ffmpeg environment configuration and common error handling
猜你喜欢
随机推荐
316. 去除重复字母
Learning and using quartz scheduling framework
295. median data flow
The List
【项目实训10】箭头的绘制
306. 累加数
Analysis of personalized learning progress in maker Education
315. calculate the number of elements on the right that are smaller than the current element
NPM download error NPM err code error
[STL] unordered of associated container_ Map Usage Summary
897. incremental sequential search tree
正则表达式图文超详细总结不用死记硬背(上篇)
306. Addenda
MySQL(八) — 执行计划(Explain)详解
About Supervision
318. 最大单词长度乘积
300. 最长递增子序列
GIS实战应用案例100篇(七十九)-多规整合底图的制作要点
313. 超级丑数
UNET code implementation







![[STL] unordered of associated container_ Map Usage Summary](/img/6a/d614f2f363fa5181c25e79ff8b0dab.png)

