目录
1 前言
三大框架的整合在Java中使用的非常的频繁,网上搜索了很多,却没有几个能真正跑通的,本着自己学习,自己整合了一下。以下为个人通过网上搜索资料,视频学习整合下来的笔记汇总。在编写完本文之后,我有又按着自己的文章步骤整合了一下,经过一番修正,已经可以正常使用。接下来将从创建项目到运行进行详细说明。
注:关于技术性的问题我不多介绍,有不明白的可以自行查询,本文只是详细介绍整合过程,并给出ssm框架所有的代码。
本人文采不行,说的都是通俗的话。废话也不多,以免看着心烦,但是配图够详细,足以新人学习看懂。
此版本为最基础版本,后期还会更改。
2 三大框架是什么?
网上有很多介绍,由于自己学习使用,不在多说。代码及说明文中有详细注释。
废话少说,上来就是干!
3 ssm演示
先给大家演示一下本文ssm框架所能实现的功能,以免大家看了半天发现不符合自己的需求,浪费宝贵的时间。
请你移步到本文的最后测试部分。
4 目录结构:
首先展示一下整体的代码结构:
本文创建的是maven项目,目录结构就是上图中所示。
5 SSM框架整合配置全过程
5.1,创建一个maven项目
1)首先打开eclipse,(ieda创建maven项目可以在网上搜索到教程,比较简单,跟eclipse相差不多,不在赘述)
如果之前没在eclipse上创建maven项目,可以看这个视频,教学很详细。http://www.imooc.com/learn/443
如果不想使用maven项目整合ssm,也可以创建Dynamic Web project进行。方式相同,主要是导jar包方式不一样。
2)新建一个maven项目,点击下一步(next),会出现如下视图。选择(maven-archetype-webAPP),点击next。
3)此时会出现如下界面,然后根据自己的需求填写如下内容。最后点击finish。
4)此时,maven项目构建成功,需要做以下处理。
(1)配置JDK和Tomcat。
配置JDK:在项目上右击 --> Build Path --> Configure Build Path --> Libraries --> 选中JRE,右侧点击Edit。
做出如下修改点击finish完成JDK的配置。
配置Tomcat:点击右侧Add Library --> 选中Server Runtime双击 --> 选中Apache Tomcat v9.0 -->点击finish。
点击Apply,完成jdk和Tomcat的配置。项目中会显示如下红框选中项。
(2)配置pom.xml文件。
pom.mxl文件中配置的都是ssm框架需要的jar包。可以自行复制进自己的pom.xml文件中。如果有jar升级,可以自行去https://mvnrepository.com/搜索下载。
注:以下所有的配置文件都不建议全篇复制,根据需要选中所需部分自行复制。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jtv.ssm-config</groupId>
<artifactId>ssm-config</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>ssm-config Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- 1.日志 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- 2.数据库 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
<scope>runtime</scope>
</dependency>
<!-- DAO: MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<!-- 3.Servlet web -->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!-- 4.Spring -->
<!-- 1)Spring核心: 4+1 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<!-- 2)Spring DAO层 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<!-- 3)Spring web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<!-- 4)Spring test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<!-- 5)Spring aop框架 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<!-- 6)Spring orm框架 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<!-- redis客户端:Jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>io.protostuff</groupId>
<artifactId>protostuff-core</artifactId>
<version>1.6.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.protostuff</groupId>
<artifactId>protostuff-runtime</artifactId>
<version>1.6.0</version>
</dependency>
<!-- Map工具类 -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2</version>
</dependency>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.2</version>
</dependency>
</dependencies>
<build>
<finalName>ssm-web</finalName>
</build>
</project>
至此,环境基本没问题了,开始编写代码了。真正的困难来了。。。。。
5.2、建包写代码
1)建包:
2)创建类及其方法:
1)在entity包下创建User.java:
User.java
该类的属性需要与数据库中的字段的名称保持一致,需要将这里的属性进行调整。
如果这里的类名属性名进行了修改,下面的配置文件,引用等都需要做相应的修改,否则会报错。如果是初学着,可以先建个与本文相同的数据表,等搭成功了再进行改动,效果最好。
package com.jtv.entity;
public class User {
private int uid;
private String username;
private String password;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [uid=" + uid + ", username=" + username + ", password=" + password + "]";
}
}
2) 在dao包下创建一个《接口》:UserDao.java:
UserDao.java
如果对select注释不了解的可以先学习一下mybatis,有个了解之后再写ssm框架是最好不过了。
package com.jtv.dao;
import java.util.List;
import org.apache.ibatis.annotations.Select;
import com.jtv.entity.User;
public interface UserDao {
@Select("select * from user where username = #{username} and password = #{password}")
User login(User user);
@Select("select * from user")
List<User> selectAll();
}
3)在service包下创建一个《接口》:UserService.java,
并在service包下创建子包impl,在子包下创建UserServiceImpl.java继承UserService.java,并实现其方法。
这里可以不见接口,直接使用创建一个类,但是为了限制代码的规范性,这里使用了接口。
UserService.java
package com.jtv.service;
import java.util.List;
import com.jtv.entity.User;
public interface UserService {
User login(User user);
List<User> selectAll();
}
UserServiceImpl.java
package com.jtv.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jtv.dao.UserDao;
import com.jtv.entity.User;
import com.jtv.service.UserService;
@Service("userservice")
public class UserServiceImpl implements UserService {
@Autowired
UserDao userDao;
@Override
public User login(User user) {
return userDao.login(user);
}
@Override
public List<User> selectAll() {
return userDao.selectAll();
}
}
4)在controller包下创建UserController.java
UserController.java
package com.jtv.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.jtv.entity.User;
import com.jtv.service.UserService;
@Controller
public class UserController {
@Autowired
UserService service;
@RequestMapping("/login")
public String login(User user,Model model){
User u = service.login(user);
if(u!=null){
model.addAttribute("msg", u.getUsername());
return "show";
}
else{
return "error";
}
}
@RequestMapping("/queryAll")
public String queryAll(Model model){
model.addAttribute("all_info", service.selectAll());
return "showAll";
}
}
3)配置文件:
在resources目录下创建mybatis-config.xml,jdbc.properties,log4j.properties文件。
mybatis-config.xml
这里用到了mybatis,所以需要配置mybatis核心文件,在recources
文件夹里新建mybatis-config.xml
文件。
因为mybatis整合spring,所以将环境配置注释了,将在下面的spring-dao.xml文件中进行重新配置,以此说明。
<?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>
<!-- <properties resource="jdbc.properties"></properties> -->
<!-- 给实体类起别名 ,有两种方法,一般使用第二种-->
<!-- 1)给单个类型起别名 -->
<!-- <typeAlias type="com.jtv.entity.User" alias="user"/> -->
<!-- 2)给整个包所有的类起别名 别名就是类名(不区分大小写)-->
<typeAliases>
<package name="com.jtv.entity"/>
</typeAliases>
<!-- <environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments> -->
<!-- 映射器 -->
<mappers>
<!-- 映射文件路径 -->
<package name="com.jtv.dao"/>
</mappers>
</configuration>
jdbc.properties
student是我的数据库的名字,这里需要改成自己的数据库的名字。否则会报错!!!
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///student?useSSL=true
jdbc.username=root
jdbc.password=
注意!!!:
这里一定要非常非常非常的注意,在配置文件中,我使用的是jdbc.**的命名格式,这样做的的目的是为了防止配置中的jdbc.username与系统环境中的username冲突,导致在运行程序连接数据库的时候username读取的是你系统中的username,最终数据库连接失败。密码改成自己的设置的密码!
我开始用的是username,一直报错,坑了一下午,最后大神帮我找出问题了。一定要注意,也建议以后jdbc的配置文件使用这种格式,不但不会报错,还显得逼格很高。
log4j.properties
这个没啥好说的,复制进去进行。日志输出的。
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example=DEBUG
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
在resources/spring目录下创建spring-dao.xml,spring-web.xml文件。
spring-dao.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:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<context:component-scan base-package="com.jtv.service"></context:component-scan>
<!-- 配置整合mybatis过程 -->
<!--1.配置数据源数据库相关参数properties的属性 四个参数 -->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- 2,数据库连接池。 在xml中创建对象,就是这种方式,id是对象名,class是全限定名 -->
<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 配置连接池的属性 -->
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
<!--2.sqlsessionFactory对象创建交给spring -->
<bean id="sqlsessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入数据库连接池 -->
<property name="dataSource" ref="datasource"></property>
<!-- 配置MyBaties全局配置文件:mybatis-config.xml -->
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<!-- 扫描entity包 使用别名 -->
<!-- <property name="typeAliasesPackage" value="com.soecode.lyf.entity" /> -->
<!-- 扫描sql配置文件:mapper需要的xml文件 -->
<!-- <property name="mapperLocations" value="classpath:mapper/*.xml" /> -->
</bean>
<!-- 3.mapper对象的创建和管理交给spring
配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 给出需要扫描Dao接口包 -->
<property name="basePackage" value="com.jtv.dao" />
<!-- 注入sqlSessionFactory -->
<property name="sqlSessionFactoryBeanName" value="sqlsessionFactory" />
</bean>
<!-- 4.配置事务管理器 把事务管理交由spring(aop)来完成
1、配置事务管理器
2、配置事务添加策略
3、织入事务
-->
<!-- 1)、配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 注入数据库连接池 -->
<property name="dataSource" ref="datasource" />
</bean>
<!-- 2)、配置事务添加策略 -->
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 怎样的方法添加怎样事务,name:方法的名字 -->
<tx:method name="query*" read-only="true"/>
<tx:method name="find*" read-only="true"/>
<tx:method name="login*" read-only="true"/>
<tx:method name="insert*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<!-- 3)、织入事务,将上面2的事务添加到切入点里面 -->
<aop:config>
<aop:pointcut expression="execution(* com.jtv.service..*(..))" id="pointCut"/>
<aop:advisor advice-ref="transactionAdvice" pointcut-ref="pointCut"/>
</aop:config>
</beans>
spring-web.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: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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- 配置SpringMVC 可以使用@RequestMapping,@PathVariable,@ResponseBody等-->
<!-- 1.开启SpringMVC注解模式 -->
<!-- 简化配置:
(1)自动注册DefaultAnootationHandlerMapping,AnotationMethodHandlerAdapter
(2)提供一些列:数据绑定,数字和日期的format @NumberFormat, @DateTimeFormat, xml,json默认读写支持
-->
<mvc:annotation-driven />
<!-- 2.静态资源默认servlet配置
(1)加入对静态资源的处理:js,gif,png
(2)允许使用"/"做整体映射
-->
<mvc:default-servlet-handler/>
<!-- 3.配置jsp视图解析器, 显示ViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> -->
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<!-- 4.扫描web相关的bean -->
<context:component-scan base-package="com.jtv.controller" />
</beans>
4)前端代码
在webapp目录下写一个入口代码index.jsp,
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="login" method="get">
username:<input type="text" name="username"> <br>
password:<input type="password" name="password"><br>
<input type="submit" value="login">
</form>
</body>
</html>
在webapp/jsp目录下写error.jsp,show.jsp,showAll.jsp
show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
${msg },欢迎你!
<a href="queryAll">查询所有数据</a>
</body>
</html>
error.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
登录失败!!!
</body>
</html>
showAll.jsp
记得在代码中添加如下代码:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border="1" cellpadding="5" cellspacing="0" width="500px">
<tr>
<td>编号</td>
<td>姓名</td>
<td>密码</td>
</tr>
<c:forEach items="${all_info }" var="info">
<tr>
<td>${info.uid }</td>
<td>${info.username }</td>
<td>${info.password }</td>
</tr>
</c:forEach>
</table>
</body>
</html>
5)配置web.xml的文件
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>ssm-config</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-dao.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 如果是用mvn命令生成的xml,需要修改servlet版本为3.1 -->
<!-- 配置前端控制器:处理的入口。配置DispatcherServlet -->
<servlet>
<!-- 配置的前端控制器的名字(名字随意) -->
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置springMVC需要加载的配置文件 spring-web.xml
Mybatis - > spring -> springmvc
-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-web.xml</param-value>
</init-param>
</servlet>
<!-- 配置servlet可以处理哪些请求 -->
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<!-- 默认匹配所有的请求 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
6)数据库
打开Navicat for MySQL软件,新建一个student数据库,在student数据库中新建一个user数据表,添加uid(int,主键自增),username(varchar),password(varchar)三个字段,并给定一些数据。
这里的字段名称需要与User.java中的属性名保持一致,切记!!
6 测试:
项目名称右击 --> Run As --> Run on Service --> 选中Tomcat --> Finish。
然后打开浏览器,在地址栏输入:http://localhost:8080/ssm-config/ 输入用户名、密码,点击login。
1)输入正确的用户名、密码,显示如下。
点击链接查询所有数据 (这里的不能点击哦~_~),就会返回所有的查询数据,也就是数据表中的所有数据。
2)输入错误的用户名、密码。
7 结语:
到此,我们的SSM框架整合配置,与应用演示已经结束了,本想把整个文件打包上传,但是我觉得我写的很详细了,如果全部按着我的步骤来做,估计只需半个小时就能把整个框架搭好并跑通。希望初学者能够实际动手操作一两遍,对自己的学习会有很大的帮助,如果实在不想敲,想要源码,可以在下面留言,留下邮箱,我看到的时候会发送。
如果有不足之处,还希望指出,大神请轻喷。 ~_~
最后,如果喜欢就给个star,给个鼓励吧,还会继续更新,加强,优化代码。
持续更新中。。。。。。。