maven搭建SSM框架之路(二)
一、创建Spring+Springmvc+Mybatis项目
相关工具:
Tomcat8.5,下载链接:https://pan.baidu.com/s/1AN7fshQVixw9fpwVRLZu6g 提取码:2xrm
PS:由于不知道怎么上传文件,所以只能贴云盘链接了
项目下载链接:https://pan.baidu.com/s/1uk9mkKx4XaeWo2EmU11dOQ 提取码:ytyv
1.文件结构目录
2.配置POM文件
<!-- 相关包版本 -->
<properties>
<webVersion>3.1</webVersion>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.3.9.RELEASE</spring.version>
<mysql.version>5.1.8</mysql.version>
<dbcp.version>1.4</dbcp.version>
<junit.version>4.12</junit.version>
<mybati.sversion>3.4.6</mybati.sversion>
<mybatis.spring.version>1.3.2</mybatis.spring.version>
</properties>
创建项目后需要增加的依赖包
<!-- spring框架 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Spring JDBC,版本需要与spring-webmvc保持一致 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- MySQL连接 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>${dbcp.version}</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybati.sversion}</version>
</dependency>
<!-- MyBatis与Spring整合 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${mybatis.spring.version}</version>
</dependency>
<!-- Junit单元测试,同样需要与spring的版本一致 ,不使用单元测试是可以不导入此部分包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
3.配置web.xml
这里需要注意扫描文件,我这里写法是扫描满足SpringMVC-*.xml这种类型的文件,因此对应的xml文件我命名为SpringMVC-mybatis.xml 和SpringMVC-servlet.xml
<!-- 配置DispatcherServlet -->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 1配置spring的配置文件 要先于 <load-on-startup>1</load-on-startup>-->
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- 扫描配置文件,此处定义为resources下的xml文件 -->
<param-value>classpath:SpringMVC-*.xml</param-value>
</init-param>
<!-- 2Tomcat初始化 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.配置SpingMVC-servlet.xml
这里扫描包是扫描运用到注解的文件的包,因此这里选择全部扫描
<?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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<!-- 扫描包 -->
<context:component-scan base-package="pers.cjs"></context:component-scan>
<!-- 定义jsp路径 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<!-- 注解驱动器,用到一些不常用的注解的时候,就需要添加这个 -->
<mvc:annotation-driven></mvc:annotation-driven>
</beans>
5.配置SpringMVC-servlet.xml
<?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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<!-- 引入配置文件 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:jdbc.properties" />
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${driverClassName}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
<!-- 初始化连接大小 -->
<property name="initialSize" value="${initialSize}"></property>
<!-- 连接池最大数量 -->
<property name="maxActive" value="${maxActive}"></property>
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="${maxIdle}"></property>
<!-- 连接池最小空闲 -->
<property name="minIdle" value="${minIdle}"></property>
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="${maxWait}"></property>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- 自动扫描mapping.xml文件 -->
<property name="mapperLocations" value="classpath:mappers/*.xml"></property>
</bean>
<!-- dao接口所在包名,Spring会自动查找其下的类 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="pers.cjs.dao"></property>
</bean>
<!-- 事物管理 transaction manager, use JtaTransactionManager for global tx -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
</beans>
6.配置数据库文件
这里需要根据自己的数据库更改对应的 数据库名称,用户名和密码
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/web
username=root
password=123456
initialSize=2
maxActive=10
maxIdle=3
minIdle=2
maxWait=6000
对应数据库表
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(255) NOT NULL,
`Password` varchar(255) NOT NULL,
`Address` varchar(255) DEFAULT NULL,
`Email` varchar(255) DEFAULT NULL,
`Phone` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`,`Name`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
7.编写控制类
这里只是简单跳转到对应的jsp页面,并在控制台打印数据库数据
@Controller
public class indexController {
@Autowired
private UserService userService;
@RequestMapping("/HelloWorld.do")
public String toHelloWorld(){
List<User> list = userService.getUsers();
for (User user : list) {
System.out.println(user.toString());
}
return "font/HelloWorld";
}
}
至此,SSM框架整合完成,其中的测试类没有贴出代码。因为是刚开始学习,如有什么错误,希望各位大神能指出,谢谢
PS:这只是一个整合过程,还需要和前端其他技术相结合,任重而道远,但是一步一个脚印,那么就能不断变得充实自己