ssm项目从零到精通的超全解析(含项目源码)

ssm项目从零到精通的超全解析(含项目源码),第1张

ssm项目从零到精通的超全解析(含项目源码)

目录
  • 前言
  • 大纲框架
  • 1. 依赖文件
  • 2. mybatis
  • 3. spring
  • 4. springmvc
  • 5. 前端界面
    • 5.1 jsp
    • 5.2 bootstrap+css
  • 6. 总结

前言

写这篇文章主要是为了给初学者从浅入深进行巩固(后面会慢慢多这一类的文章)
文中主要包含思路以及代码的逻辑、代码细节的补充等

项目的主要功能主要是通过ssm项目围绕数据库的增删改查以及页面信息的显示

主要的前台界面显示如下,本项目主要完善了数据库的后台信息


通过点击网站的页面信息
在页面信息有具体数据库的东西
并且有其其增删改查按键信息

*** 作都会影响其数据库后台信息的设置
此处就不接下来展示后面的页面
具体

项目的源码大致如下
可以通过csdn的下载方式进行下载
ssm项目(ssm+maven+sql+bootstrap+jsp).rar
或者通过github的方式进行下载
github上的ssm项目资源

⭐⭐⭐⭐⭐⭐
如果通过github上下载的,好用记得点收藏
⭐⭐⭐⭐⭐⭐

这个项目主要是ssm框架搭建的一个后台网站
学习的框架知识点可通过我这篇文章进行系统学习
java框架零基础从入门到精通的学习路线(超全)

主要涉及的知识点有
java,spring,springmvc,mybatis,前端html+css+jsp+bootstrap,maven,sql,tomcat

这些知识点可通过我之前的文章进行学习

java的基础知识点:

  1. java零基础从入门到精通(全)
  2. javaSE从入门到精通的二十万字总结(一)
  3. javaSE从入门到精通的二十万字总结(二)
  4. javaSE从入门到精通的二十万字总结(三)
大纲框架
  • 搭建数据库,以及数据库表
  • 用mybatis生成逆向工程或者书写mybatis的代码模块
  • 使用spring ioc 、aop以及事务
  • 使用springmvc 中的web进行交互
  • 搭建前端页面进行渲染页面
1. 依赖文件

依赖文件主要是jar包
该工程通过maven工程建立
具体可看我之前的文章

  1. Maven实战从入门到精通(全)
  2. Maven实战从入门到精通(全)

之后pom.xml引入相应的知识框架依赖包
部分截图如下

除了依赖包意外
还有在src下的xml文件也要生成到target下
所以要多配置这个


    

        
            src/main/java
            
                ***.xml
            
            false
        

    

2. mybatis

搭建这个模块可看我之前的文章
Mybatis从入门到精通(全)

整合数据库文件
搭配数据库信息
直接运行sql文件内容
类似这种配置信息

drop table if exists t_student;
create table t_student 
(
   id                   int(10)                        not null auto_increment,
   name                 varchar(20)                    null,
   age                  int(10)                        null,
   constraint PK_T_STUDENT primary key clustered (id)
);

insert into t_student(name,age) values("zhangsan",25);
insert into t_student(name,age) values("lisi",28);
insert into t_student(name,age) values("wangwu",23);

或者

drop table if exists books;
CREATE TABLE books 
(
bookID INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id',
bookName VARCHAR(100) NOT NULL COMMENT '书名',
bookCounts INT(11) NOT NULL COMMENT '数量',
constraint PK_books primary key clustered (bookID)
) ;

INSERT  INTO books(bookID,bookName,bookCounts)VALUES (1,"Java从入门到放弃",1);
INSERT  INTO books(bookID,bookName,bookCounts)VALUES (2,"MySQL从删库到跑路",10);
INSERT  INTO books(bookID,bookName,bookCounts)VALUES (3,"Linux从进门到入狱",5);

之后构建sql加载入数据库软件

具体可看我之前的文章

数据库的知识点:

  1. 数据库查询常用语句语法
  2. 数据库中增删改常用语法语句(全)
  3. 数据库中事务(Transaction)的详解

之后通过mybatis的逆向工程生成实体bean、映射文件、Dao接口
具体可看我之前的文章
mybatis逆向工程详细配置讲解(全)

部分截图如下

或者进行配置代码模块
书写实体bean、映射文件、Dao接口

具体mybatis的配置模板大致如下
mybatis配置模板详细分析(全)
主要是配置

  • 数据库输出日志
  • sql mapper的映射文件位置
  • 类名或者包名的别名(可有可无)
  • 数据库的配置信息(外部引用文件或者在spring中配置外部引用的文件)

数据库的信息可以配置在mybatis的配置文件中或者是spring的配置文件中
也可以使用外部文件,将其引用引进来
引用的数据库外部文件
具体信息如下

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
jdbc.username=root
jdbc.password=123456

部分功能代码截图如下

3. spring

关于这部分内容可看我之前的文章
Spring框架从入门到学精(全)

关于spring的配置模板大致如下

  1. spring-dao配置模板详细分析(全)
  2. spring-service配置模板详细分析(全)

主要是配置

  • 注解中扫描的包
  • 数据库的配置信息(外部引用文件或者在mybatis中配置外部引用的文件)
  • 引用事务的配置

关于spring的一些相关注解以及java的一些知识点可看我之前的文章
java常用函数源码剖析与实战汇总

部分截图如下

主要的大致意思是
接口实现类,通过注解注入bookdmapper的实体类,实体类通过注入到数据库源中

4. springmvc

关于这部分内容可看我之前的文章
SpringMVC从入门到精通(全)

关于spring的配置模板大致如下
springmvc配置模板详细分析(全)

主要是配置

  • 注解驱动扫描
  • 静态资源扫描
  • 包名的扫描
  • 视图解析器

因为是web的一个升级版
还要配置一个web.xml的配置文件
主要配置

  • DispatchServlet
  • 配置编码过滤器

识别的DispatchServlet
主要的配置文件有springmvc 以及spring的配置文件
为了将他们三个放置在一起
可单独弄一个文件配置
具体如下




    
    
    




代码模块主要涉及mvc
所谓mvc为

M——Model(模型,即JavaBean)
V——View(视图,即页面)
C——Controller(控制层,即与前端交互的类)

关于为什么要分成这几个架构
可看我之前的文章讲解
java为何使用Service、Dao、以及Controller层的设计

controller:控制层,接收前端传过来的数据
service:业务层,处理制层传过来的数据
dao:数据访问层,即把业务层传过来的数据存放在数据库

数据层的实体类定义和数据库名字一一对应比较好

实体类如下

@Data这个注解主要是可以自动生成get、set、equals、hashCode、canEqual、toString方法

具体关于这几个注解可看我这篇文章
spring中@Data注解详细解析

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Books {
    private int bookID;
    //等等
}

或者不使用@Data这个注解
直接定义也可以get、set、equals、hashCode、canEqual、toString方法

定义接口类

import java.util.List;
//BookService:底下需要去实现,调用dao层
public interface BookService {
    //增加一个Book
    int addBook(Books book);
    //等等
}

定义接口实现类

public class BookServiceImp implements BookService{
    //调用dao层的 *** 作,设置一个set接口,方便Spring管理
    
    @Autowired
    private BookMapper bookMapper;
    
    @Override
    public int addBook(Books book) {
        return bookMapper.addBook(book);
    }
}

主要在界面交互层的代码模块

此处还会涉及到转发与重定向的区别
详情可看我之前的文章
转发和重定向的区别及使用方法(全)

5. 前端界面

本身作为后端开发者,前端界面的知识点了解少
但学起来还是很简单的
具体可看我之前的文章
前端知识点:

  1. html从入门到精通(全)
  2. css属性从入门到精通(全)
  3. Javascript从入门到精通(全)
  4. Bootstrap从入门到精通(全)

如果你不想学习,最基本的页面配置如何传输的路径可以当成模板进行使用

前端界面部分截图如下

5.1 jsp

如果使用的jsp页面,链接可以不用Thymeleaf的格式,但是路径不能使用相对路径,因为超链接使用的是绝对路径来获取,但是如果写了绝对路径,封锁住了上下文,路径就不是很灵活。为此引入了动态获取的方式

  • jsp的域对象pageContext,获取上下文的路径request.contextPath
  • 如果改动了页面,jsp是可以自动更新部署的

主要区别在于jsp的页面显示

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


    Title


首页
数据库后台


在其springmvc.xml中不用thymeleaf配置,只需要配置其InternalResourceViewResolver


    
    


5.2 bootstrap+css

以下修饰的代码大部分是在bootstrap

关于文本修饰
text-decoration 规定添加到文本的修饰
主要常用的参数选择:

参数功能none默认,定义标准的文本。underline文本下的一条线overline文本上的一条线line-through穿过文本下的一条线blink闪烁的文本

关于移动鼠标的代码参数
通过使用:hover 选择器
用于选择鼠标指针浮动在上面的元素

background-color 选择鼠标浮动后的颜色

关于背景的一些代码参数

background-attachment:设置背景图像是否固定或者随着页面的其余部分滚动
主要放一些常用的参数选择:

参数功能scroll背景图片随着页面的滚动而滚动,这是默认的fixed背景图片不会随着页面的滚动而滚动local背景图片会随着元素内容的滚动而滚动

background-size:指定背景图片大小
主要放一些常用的参数选择:

参数功能length设置背景图片高度和宽度。第一个值设置宽度,第二个值设置的高度。如果只给出一个值,第二个是设置为 auto(自动)percentage将计算相对于背景定位区域的百分比。第一个值设置宽度,第二个值设置的高度。如果只给出一个值,第二个是设置为"auto(自动)"cover此时会保持图像的纵横比并将图像缩放成将完全覆盖背景定位区域的最小大小。contain此时会保持图像的纵横比并将图像缩放成将适合背景定位区域的最大大小 6. 总结

通过的这篇文章
可以了解到框架该如何搭建以及搭建的思路是怎么进行

更加急速的提升代码能力
是在原项目代码模块中进行修改编译执行

再搭配该项目的时候可能会出现如下的错误
详情可通过以下搜索
bug专栏

其他项目还在实时更新

❤️ 一键三连不迷路 ❤️
❤️ 一键三连不迷路 ❤️
❤️ 一键三连不迷路 ❤️
❤️ 一键三连不迷路 ❤️
❤️ 一键三连不迷路 ❤️
❤️ 一键三连不迷路 ❤️

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5636992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存