一:概述
SSM 框架在项目开发中经常使用到,相比于 SSH 框架,它在仅几年的开发中运用的更加广泛。
Spring 作为一个轻量级的框架,有很多的拓展功能,最主要的我们一般项目使用的就是 IOC 和 AOP。
SpringMVC 是 Spring 实现的一个 Web 层,相当于 Struts 的框架,但是比 Struts 更加灵活和强大!
Mybatis 是 一个持久层的框架,在使用上相比 Hibernate 更加灵活,可以控制 sql 的编写,使用 XML 或注解进行相关的配置!
根据上面的描述,学习 SSM 框架就非常的重要了!
二:搭建一个 SSM 的过程
使用 Maven 管理项目
使用 Maven 在 Eclipse 中创建一个 webapp 的项目 ,具体的创建过程不做演示,如有不会创建的[创建项目]
也可以使用 Maven 命令进行创建,在 Dos 窗口进入指定的目录,执行下面命令:
mvnarchetype:create -DgroupId=org.ssm.dufy -DartifactId=ssm-demo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
使用命令要注意,系统安装了 Maven,并配置好了环境变量![Maven 的安装和环境变量配置]
导入项目(命名创建),添加依赖
导入项目是 IDE 中,或者直接在 IDE 创建,一般默认有【src/main/java】,手动创建【src/test/resources】、【src/test/java】文件夹。
如下项目结构:
然后直接配置 pom.xml 文件中的包依赖!
4.0.0org.dufyssmwar0.0.1-SNAPSHOTssmDemohttp://maven.apache.org4.0.5.RELEASE3.2.11.6.61.2.125.1.35org.springframeworkspring-core${spring.version}org.springframeworkspring-webmvc${spring.version}org.springframeworkspring-context${spring.version}org.springframeworkspring-context-support${spring.version}org.springframeworkspring-aop${spring.version}org.springframeworkspring-aspects${spring.version}org.springframeworkspring-tx${spring.version}org.springframeworkspring-jdbc${spring.version}org.springframeworkspring-web${spring.version}org.springframeworkspring-test${spring.version}testorg.springframeworkspring-webmvc${spring.version}org.springframeworkspring-web${spring.version}mysqlmysql-connector-java${mysql.version}com.alibabadruid0.2.23com.alibabafastjson1.1.41log4jlog4j${log4j.version}org.slf4jslf4j-api${slf4j.version}ch.qos.logbacklogback-classic1.1.2ch.qos.logbacklogback-core1.1.2org.logback-extensionslogback-ext-spring0.1.1org.mybatismybatis${mybatis.version}org.mybatismybatis-spring1.2.0javax.servletjavax.servlet-api3.0.1javax.servlet.jspjavax.servlet.jsp-api2.3.2-b01javax.servletjstl1.2junitjunit3.8.1testssmDemo
创建数据库和表,生成代码
创建数据库我参考别人的博客数据库设计,这块没有自己去书写,直接添上代码
DROPTABLEIFEXISTSuser_t
;CREATETABLEuser_t
(id
int(11)NOTNULLAUTO_INCREMENT,user_name
varchar(40)NOTNULL,password
varchar(255)NOTNULL,age
int(4)NOTNULL, PRIMARYKEY(id
) )ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8;insertintouser_t
(id
,user_name
,password
,age
)values(1,'测试','sfasgfaf',24)
生成代码请查看:
SSM框架——使用MyBatis Generator自动创建代码 - CSDN博客
生成的代码导入图片解释:
Spring 和 mybatis 整合,连接数据库, 进行 Junit 测试
将生成的代码拷贝到项目中,然后进行 Spring 和 Mybatis 的整合,添加配置文件!
主要有
applicationContent.xml :Spring 的相关配置!
Spring-mhbatis.xml : Spring 和 Mybatis 集成配置!
jdbc.properties : 数据库信息配置!
logback.xml : 日志输出信息配置!(不做介绍,详细信息查看源码)
主要介绍 applicationContext.xml、Spring-mhbatis.xml、jdbc.properties。主要内容如下:
jdbc.properties
jdbc_driverClassName=com.mysql.jdbc.Driverjdbc_url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf8jdbc_username=rootjdbc_password=root
applicationContext.xml
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
"> 可以不在配置 -->
spring-mybatis.xml
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">;
测试代码,两种方式:
测试 1:
package org.ssm.dufy.service;importorg.junit.Test;importorg.junit.runner.RunWith;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.test.context.ContextConfiguration;importorg.springframework.test.context.junit4.SpringJUnit4Cla***unner;importorg.ssm.dufy.entity.User;@RunWith(SpringJUnit4Cla***unner.class)// 告诉 junit spring 配置文件 @ContextConfiguration({"classpath:applicationContext.xml"})publicclassIUserServiceTest{@AutowiredpublicIUserServiceuserService; @Testpublicvoid getUserByIdTest(){Useruser = userService.getUserById(1);System.out.println(user.getUserName()); } }
测试 2:
package org.ssm.dufy.service;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;importorg.ssm.dufy.entity.User;publicclassIUserServiceTest2{publicstaticvoid main(String[] args){ApplicationContextapplication = newClassPathXmlApplicationContext("applicationContext.xml");IUserServiceuService = (IUserService) application.getBean("userService");Useruser = uService.getUserById(1);System.out.println(user.getUserName()); }}
5:整合 SpringMVC,添加配置,创建 jsp
SpringMVC 需要的依赖在 pom.xml 中已经加上了,现在需在 Web 项目中的 web.xml 中添加启动 SpringMVC 启动配置和 Spring 整合 SpringMVC 的配置了。
新增如下两个文件:
spring-mvc.xml
Index of /schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
Index of /schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
Index of /schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">; application/json -->json=application/json xml=application/xml html=text/html/ 映射时,能映射静态资源 -->
web.xml
SSM-DEMOcontextConfigLocationclasspath:applicationContext.xml
webAppRootKey
springmvc.root
-->SpringEncodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8forceEncodingtrueSpringEncodingFilter/*logbackConfigLocationclasspath:logback.xmlch.qos.logback.ext.spring.web.LogbackConfigListenerorg.springframework.web.context.ContextLoaderListenerdispatcherServletorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spring-mvc.xml1dispatcherServlet/index.jsp
作者:huadeyu
链接:https://hacpai.com/article/1530496952471
来源:×××派
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。