最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
基于maven的ssm框架整合的示例代码
时间:2022-06-29 00:59:57 编辑:袖梨 来源:一聚教程网
基本概念
1.1、Spring
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
1.2、SpringMVC
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
1.3、MyBatis
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
第一步:通过maven建立一个web项目。
第二步:pom文件导入jar包
(1) pom.xml
我把我pom文件整个都拷贝来了,有些初始化就有的东西你要去掉,保留你自己pom生成的那份。
4.0.0 com.test ssm war 0.0.1-SNAPSHOT ssm Maven Webapp http://maven.ap*ac*h*e.org 4.0.2.RELEASE 3.2.6 1.7.7 1.2.17 junit junit 3.8.1 test org.springframework spring-core ${spring.version} org.springframework spring-web ${spring.version} org.springframework spring-oxm ${spring.version} org.springframework spring-tx ${spring.version} org.springframework spring-jdbc ${spring.version} org.springframework spring-webmvc ${spring.version} org.springframework spring-aop ${spring.version} org.springframework spring-context-support ${spring.version} org.springframework spring-test ${spring.version} org.mybatis mybatis ${mybatis.version} org.mybatis mybatis-spring 1.2.2 javax javaee-api 7.0 mysql mysql-connector-java 5.1.30 commons-dbcp commons-dbcp 1.2.2 jstl jstl 1.2 log4j log4j ${log4j.version} com.alibaba fastjson 1.1.41 org.slf4j slf4j-api ${slf4j.version} org.slf4j slf4j-log4j12 ${slf4j.version} org.codehaus.jackson jackson-mapper-asl 1.9.13 commons-fileupload commons-fileupload 1.3.1 commons-io commons-io 2.4 commons-codec commons-codec 1.9 ssm
第三步:看整体的项目架构,先说明下我这里还没有有关springMVC的相关东西,因为我先整合sping-mybatis,在测试是否成功,成功在整合springMVC
第四步:建立model类
public class User { private int id; private String name; private String password; private String password2; /*提供set和get方法,toString方法*/ }
第五步:创建数据库,UserDao接口和mapper映射文件
(1)建立很简单的一张表
(2)UserDao接口
public interface UserDao { User findUserById(User user); }
(3)UesrMapper.xml
第五步:创建UserService和UserServiceImpl
(1)UserService
public interface UserService { public User getUserById(User user); }
(2)UserServiceImpl
import org.springframework.stereotype.Service; import com.ssm.dao.UserDao; import com.ssm.model.User; import com.ssm.service.UserService; @Service("userService") public class UserServerImpl implements UserService { @Resource private UserDao userDao; public User getUserById(User user) { return this.userDao.findUserById(user); } }
第六步:创建jdbc文件和log日志文件
(1)jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&&characterEncoding=UTF-8 jdbc.username=root jdbc.password=root
(2)log4j.properties
log4j.rootLogger=INFO,Console,File #定义日志输出目的地为控制台 log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Target=System.out #可以灵活地指定日志输出格式,下面一行是指定具体的格式 log4j.appender.Console.layout = org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n #文件大小到达指定尺寸的时候产生一个新的文件 log4j.appender.File = org.apache.log4j.RollingFileAppender #指定输出目录 log4j.appender.File.File = logs/ssm.log #定义文件最大大小 log4j.appender.File.MaxFileSize = 10MB # 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志 log4j.appender.File.Threshold = ALL log4j.appender.File.layout = org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n
第七步:整合spring-mybatis.xml
第八步:建立测试类
经过以上步骤(log4j不配也没影响),我们已经完成了Spring和mybatis的整合,这样我们就可以编写一段测试代码来试试是否成功了。
测试类在src/test/java中建立,如果测试成功,表示Spring和Mybatis已经整合成功了。输出信息使用的是Log4j打印到控制台。
(1)TestMyBatis测试类
package ssm; import javax.annotation.Resource; import org.apache.log4j.Logger; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.ssm.model.User; import com.ssm.service.UserService; /*让测试运行于Spring测试环境*/ @RunWith(SpringJUnit4ClassRunner.class) /*用来指定加载的Spring配置文件的位置,会加载默认配置文件*/ @ContextConfiguration(locations = { "classpath:spring-mybatis.xml" }) public class TestMyBatis { @Resource(name = "userService") private UserService userService; @Test public void test1() { User user=new User(); user.setName("张三"); user.setPassword("123"); User user1 = userService.getUserById(user); System.out.println(user1.toString()); } }
最后!关键看后台输出,也是见证奇迹的时候,如果输出对象那说明你配置整合成功!
那接下来我们开始整合springMVC
第九步:配置springmvc.xml
第十步:配置web.xml文件
这里面对spring-mybatis.xml的引入以及配置的spring-mvc的Servlet就是为了完成SSM整合,之前2框架整合不需要在此处进行任何配置。
Archetype Created Web Application contextConfigLocation classpath:spring-mybatis.xml encodingFilter org.springframework.web.filter.CharacterEncodingFilter true encoding UTF-8 encodingFilter /* org.springframework.web.context.ContextLoaderListener org.springframework.web.util.IntrospectorCleanupListener SpringMVC org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springmvc.xml 1 true SpringMVC / /index.jsp
第十一步最后测试:
(1) 先写login.jsp
用户登录:
界面:
(2)在写UserController
import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.ssm.dao.UserDao; import com.ssm.model.User; @Controller public class UserController { @Resource private UserDao userDao; @RequestMapping("/jsp/login") public String login(HttpServletRequest request){ String username=request.getParameter("username"); String password=request.getParameter("password"); User user=new User(); //根据用户名和学生查询数据库 user.setName(username); user.setPassword(password); User users=userDao.findUserById(user); //如果有学生就说明登录成功 if(users!=null){ return "susscss"; } //这个jsp我没有写,大家知道就好,你们可以自己写 return "err"; } }
(3)最后susscss.jsp
用户账号密码正确,登录成功
完美!
相关文章
- 地狱即我们无人机怎么照明 无人机灯光操作指南 09-17
- 无主之地4顺风车成就怎么达成 顺风车成就解锁攻略 09-17
- 归龙潮最新兑换码大全 2025长期可用兑换码汇总 09-17
- 禁闭求生2怎么做蜜蜂护肩 蜜蜂护肩制作方法 09-17
- 超自然行动组兑换码入口在哪 兑换码入口及领取方式 09-17
- 明日方舟无忧梦呓突袭挂机过关攻略 09-17