热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在maven项目中使用ssm框架

这期内容当中小编将会给大家带来有关如何在maven项目中使用ssm框架,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收

这期内容当中小编将会给大家带来有关如何在maven项目中使用ssm框架,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

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.apache.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

如何在maven项目中使用ssm框架

第四步:建立model类

public class User {
 private int id;
 private String name;
 private String password;
 private String password2; 
/*提供set和get方法,toString方法*/
}

第五步:创建数据库,UserDao接口和mapper映射文件

(1)建立很简单的一张表

如何在maven项目中使用ssm框架

(2)UserDao接口

public interface UserDao {
  User findUserById(User user);
}

(3)UesrMapper.xml






 
 
 
  SELECT * FROM USER 
  
  
   AND Name= #{name}
  
  
   AND password= #{password}
  
   
 
 

第五步:创建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());
 }
}

最后!关键看后台输出,也是见证奇迹的时候,如果输出对象那说明你配置整合成功!

如何在maven项目中使用ssm框架

那接下来我们开始整合springMVC

如何在maven项目中使用ssm框架

第九步:配置springmvc.xml

 
 
  
  
  
  
   
    
    text/html;charset=UTF-8 
    
   
  
  
  
   
    
      
    
   
  
  
  
   
   
   
  
  
  
  
   
   
   
   
   
   
  
 

第十步:配置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

<%@ page language="java" cOntentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>











界面:

如何在maven项目中使用ssm框架

(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

<%@ page language="java" cOntentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>


用户账号密码正确,登录成功

完美!

如何在maven项目中使用ssm框架

上述就是小编为大家分享的如何在maven项目中使用ssm框架了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程笔记行业资讯频道。


推荐阅读
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
author-avatar
mobiledu2502858723
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有