项目实战-编写ssm整合配置文件

1、父工程pom.xml

    <properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring.version>6.0.6</spring.version><junit.version>5.3.1</junit.version><lombok.version>1.18.20</lombok.version><mysql.version>8.0.25</mysql.version><druid.version>1.2.8</druid.version><logback.version>1.2.3</logback.version><jakarta.version>9.1.0</jakarta.version><jackson.version>2.15.0</jackson.version><hibernate.validator.version>8.0.0.Final</hibernate.validator.version><fileupload.version>1.3.1</fileupload.version><mybatis.version>3.5.11</mybatis.version><mybatis-spring.version>3.0.2</mybatis-spring.version><pagehelper.version>5.1.11</pagehelper.version></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>${junit.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version><scope>test</scope></dependency><dependency><groupId>jakarta.annotation</groupId><artifactId>jakarta.annotation-api</artifactId><version>2.1.1</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>${logback.version}</version></dependency><dependency><groupId>jakarta.platform</groupId><artifactId>jakarta.jakartaee-web-api</artifactId><version>${jakarta.version}</version><scope>provided</scope></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency><!-- 校验注解实现--><dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId><version>${hibernate.validator.version}</version></dependency><dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator-annotation-processor</artifactId><version>${hibernate.validator.version}</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>${fileupload.version}</version></dependency><!-- mybatis依赖 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>${mybatis-spring.version}</version></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>${pagehelper.version}</version></dependency></dependencies></dependencyManagement>

2、pom.xml

<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency><dependency><groupId>jakarta.platform</groupId><artifactId>jakarta.jakartaee-web-api</artifactId></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId></dependency></dependencies>

3、web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener></web-app>

4、springmvc.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 https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"><context:component-scan base-package="com.atguigu.schedule" use-default-filters="false"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan><mvc:default-servlet-handler/><mvc:annotation-driven/>
</beans>

5、jdbc.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql:///schedule_db
jdbc.user=root
jdbc.pwd=123456

6、schedule_db.sql

CREATE DATABASE schedule_db CHARACTER SET utf8 ;USE `schedule_db`;CREATE TABLE `sys_schedule` (`sid` int NOT NULL AUTO_INCREMENT COMMENT '日程id',`uid` int DEFAULT NULL COMMENT '用户id',`title` varchar(50) DEFAULT NULL COMMENT '标题',`completed` int DEFAULT NULL,PRIMARY KEY (`sid`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;insert  into `sys_schedule`(`sid`,`uid`,`title`,`completed`) values 
(1,1,'学习Java',0),
(2,1,'学习HTML5',1),
(3,2,'学习Css',0),
(4,1,'学习JavaScript',0),
(5,1,'学习Spring',1),
(6,1,'学习123',0),
(7,2,'学习456',0);CREATE TABLE `sys_user` (`uid` int NOT NULL AUTO_INCREMENT,`username` varchar(20) DEFAULT NULL,`userPwd` varchar(64) DEFAULT NULL,PRIMARY KEY (`uid`),UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;insert  into `sys_user`(`uid`,`username`,`userPwd`) values 
(1,'lina','123456'),
(2,'admin','123456');

7、spring.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:tx="http://www.springframework.org/schema/tx"xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd"><context:component-scan base-package="com.atguigu.schedule"><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan><context:property-placeholder location="classpath:jdbc.properties"/><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.user}"/><property name="password" value="${jdbc.pwd}"/></bean><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><tx:annotation-driven transaction-manager="transactionManager"/><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="mapperLocations" value="classpath:mapper/*.xml"/><property name="typeAliasesPackage" value="com.atguigu.schedule.pojo"/><property name="plugins"><array><bean class="com.github.pagehelper.PageInterceptor"><property name="properties"><props><prop key="reasonable">true</prop><prop key="helperDialect">mysql</prop></props></property></bean></array></property></bean><mybatis-spring:scan base-package="com.atguigu.schedule.mapper"/>
</beans>

8、logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true"><!-- 指定日志输出的位置,ConsoleAppender表示输出到控制台 --><appender name="STDOUT"class="ch.qos.logback.core.ConsoleAppender"><encoder><!-- 日志输出的格式 --><!-- 按照顺序分别是:时间、日志级别、线程名称、打印日志的类、日志主体内容、换行 --><pattern>[%d{HH:mm:ss.SSS}] [%-5level] [%thread] [%logger] [%msg]%n</pattern><charset>UTF-8</charset></encoder></appender><!-- 设置全局日志级别。日志级别按顺序分别是:TRACE、DEBUG、INFO、WARN、ERROR --><!-- 指定任何一个日志级别都只打印当前级别和后面级别的日志。 --><root level="DEBUG"><!-- 指定打印日志的appender,这里通过“STDOUT”引用了前面配置的appender --><appender-ref ref="STDOUT" /></root><!-- 根据特殊需求指定局部日志级别,可以是包名或全类名。 --><logger name="com.atguigu.schedule" level="DEBUG" /></configuration>

 

SSM(Spring + SpringMVC + MyBatis)是一种流行的Java Web开发框架,它结合了Spring、SpringMVC和MyBatis三个主要组件,为开发者提供了一种高效、灵活和易于维护的Web应用程序开发解决方案。

以下是SSM框架的主要作用:

  1. 简化开发:SSM框架简化了Java Web应用程序的开发过程。通过使用Spring和SpringMVC,开发者可以轻松地实现依赖注入、AOP(面向切面编程)等功能,从而降低了代码的复杂度和耦合度。MyBatis则提供了方便的ORM(对象关系映射)功能,使得数据库操作更加简单和直观。
  2. 增强可维护性:SSM框架采用了分层设计,将应用程序分为表现层、业务逻辑层和数据访问层。这种分层设计使得代码结构清晰、模块化程度高,便于维护和扩展。
  3. 灵活性:SSM框架允许开发者根据具体需求进行定制和扩展。例如,开发者可以根据需要调整MyBatis的SQL语句,或者使用Spring的自定义注解来实现特定的业务逻辑。
  4. 提高性能:SSM框架具有较高的性能。通过使用MyBatis直接操作数据库,可以减少不必要的对象创建和销毁等操作,从而提高应用程序的性能。此外,Spring的缓存机制也可以提高应用程序的响应速度。
  5. 广泛的应用场景:SSM框架适用于各种类型的应用程序,包括Web、移动端、微服务等。由于其灵活性和可扩展性,SSM框架可以满足不同领域和场景的开发需求。

总之,SSM框架在Java Web开发中具有重要的作用,它提供了一种高效、可维护、灵活且性能优越的解决方案,适用于各种类型的应用程序开发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/196278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【每日一题】1038. 从二叉搜索树到更大和树-2023.12.4

题目&#xff1a; 1038. 从二叉搜索树到更大和树 给定一个二叉搜索树 root (BST)&#xff0c;请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。 提醒一下&#xff0c; 二叉搜索树 满足下列约束条件&#xff1a; 节点的左子树仅包含键 小于 节点键的节点。…

[SaaS] 天猫商品海报生成 灵感艺术家

AIGC在天猫商品海报生成上的探索没有灵感GPT&#xff0c;画不出来SD。https://mp.weixin.qq.com/s/_CkkqoWmHDZ0YqAhmAhL1A天猫在海报图生成上的探索。 技术路线&#xff1a; 初看不觉得什么&#xff0c;细看还真有点不一样&#xff0c;通常我们用canny controlnet是为了控制商…

人工智能发展史

人工智能&#xff08;AI&#xff09;的发展史是一段跨越数十年的旅程&#xff0c;涵盖了从早期理论探索到现代技术革新的广泛内容。人工智能的发展历程展示了从最初的概念探索到现代技术突破的演变。尽管经历了多次起伏&#xff0c;但AI领域持续进步&#xff0c;不断拓展其应用…

【性能测试】资深老鸟总结,常见并发问题汇总(二)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、极限值并发的问…

【C++】赋值运算符重载

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

GPIO的使用--存储系统与位带操作理解

目录 存储系统与位带操作 1、对GPIO的操作函数 2、计算机对地址的管理 3、板子地址 4、什么是位带操作 5、位带地址好处 存储系统与位带操作 1、对GPIO的操作函数 //方案一 GPIO_WriteBit(GPIOF,GPIO_Pin_9,0);//方案二 GPIO_Write(GPIOF,0x0000);//方案三 GPIOF->O…

开放式耳机怎么选?干货分享! 2023好评度超高开放式耳机推荐!

在现代社会中&#xff0c;人们对于音乐和通话的需求越来越高。传统的耳机虽然能够提供良好的音质&#xff0c;但使用过程中存在一些问题&#xff0c;例如长时间佩戴会引起耳朵疲劳和隔绝周围环境的声音。为了解决这些问题&#xff0c;开放式耳机应运而生&#xff0c;成为了一种…

【springboot原理篇】Bean的加载方式,面试必看

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 一、上古时代原始方式&#xff1a; &#x1f4d5;XML文件 ~~bean定义 &#x1f440;演示获取bean&#xff1a; ❌缺点&#xff1a; &#x1f4d5;注解方式&#xff1a; ~~component ~~指定扫描路径&#…

vm net 方式 静态ip配置访问主机IP和外网

1、win 11 安装vm&#xff0c;镜像文件 F:\software\VMwork\CentOS-7-x86_64-Everything-1804.iso 2、配置网络 net 方式 3、右击网络--》属性---》更改适配器设置--》vmnet8 属性 如果没有vm1、vm8 虚拟机编辑---》虚拟机网络编辑器-->还原默认设置 注意&#xff1a;这…

接口验签规则

一、验签的背景 在网络发展快速的过程中&#xff0c;总是会忽略接口数据安全问题&#xff0c;进行验签则能够在一定程度上能够防刷&#xff0c;数据篡改。 二、什么是加签验签 加签验签&#xff0c; 发送消息方&#xff0c;对消息加签名&#xff1b; 接受消息方&#xff0…

使用Notepad++编辑器,安装AnalysePlugin搜索插件

概述 是一款非常有特色的编辑器&#xff0c;Notepad是开源软件&#xff0c;Notepad中文版可以免费使用。 操作步骤&#xff1a; 1、在工具栏 ->“插件”选项。 2、勾选AnalysePlugin选项&#xff0c;点击右上角“安装”即可。 3、 确认安装插件 4、下载插件 5、插件已安装…

Java 设计模式——备忘录模式

目录 1.概述2.结构3.案例实现3.1.“白箱”备忘录模式3.2.”黑箱”备忘录模式 4.优缺点5.使用场景 1.概述 &#xff08;1&#xff09;备忘录模式 (Memento Pattern) 又称为快照模式&#xff0c;是一种行为型设计模式&#xff0c;它提供了一种保存和恢复对象状态的机制。备忘录模…

涓流充电计时电路芯片D1302,具有双管脚主电源和备用电源,可编程涓流充 电器VCC1,还有 31 字节的暂存器等功能

D1302 涓流充电计时电路包含一个实时时钟 / 日历和 31 字节的静 态RAM &#xff0c;通过简单的串行接口与微处理器通讯。这个实时时钟 / 日历 提供年月日、时分秒信息&#xff0c;对于少于31 天的月份月末会自动调整&#xff0c; 还有闰年校正。由于有一个 AM/PM 指示器&a…

天翼云:“百万IOPS”助推政企上云

随着数字化转型的加速&#xff0c;越来越多的企业选择了业务上云。众所周知&#xff0c;不论是政企关键/核心业务中的大型数据库、NoSQL、AI训练&#xff0c;还是互联网业务中的游戏、渲染等场景&#xff0c;对数据读写IOPS和时延有极高的要求。作为全球领先的云服务商&#xf…

分享77个菜单导航JS特效,总有一款适合您

分享77个菜单导航JS特效&#xff0c;总有一款适合您 77个菜单导航JS特效下载 链接&#xff1a;https://pan.baidu.com/s/1sfT9ONLH4ocliA1C7Z5xbQ?pwd6666 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0…

75Ω视频放大驱动芯片 D1671,2.8~5.5V 内 置 SAG端 子 6dB放 大 器 电 路,应用于手持设备中

D1671 是 一 块 带 4 级 低 通 滤 波 的 单 通 道 视 频 放 大 电 路 &#xff0c; 可 在 3V 或 5V的 低 电 压 下 工 作 。 该 电 路 用 在 有 TV 影 象 输 出 功 能 的 产 品 上 面 &#xff0c; 比 如 机 顶 盒 &#xff0c;监 控 摄 象 头 &#xff0c;DVD &#xf…

骨传导耳机音量大了有害吗?骨传导能保护听力吗?

无论是传统耳机还是骨传导耳机&#xff0c;只要使用音量过大&#xff0c;都会对有一定的损伤&#xff0c;然而由于骨传导耳机的传声原理和佩戴方式比较特殊&#xff0c;所以对人体的损伤比较小&#xff0c;想要知道骨传导耳机能否保护听力&#xff0c;就要先了解骨传导耳机的传…

【Axure教程】用中继器制作多选树

“多选树”可能指的是一种用户界面元素&#xff0c;用于展示层级结构并允许用户选择多个节点。这在软件应用程序中常用于设置、文件浏览器等场景。 Axure里面虽然自带了一个树元件&#xff0c;但是并没有多选的功能&#xff0c;所以今天就教大家如何用中继器制作一个多选树的基…

acwing-Linux学习笔记

acwing-Linux课上的笔记 acwing-Linux网址 文章目录 1.1常用文件管理命令homework作业测评命令 2.1 简单的介绍tmux与vimvimhomeworktmux教程vim教程homework中的一些操作 3 shell语法概论注释变量默认变量数组expr命令read命令echo命令printf命令test命令与判断符号[]逻辑运算…

Vue3集成ThreeJS实现3D效果,threejs+Vite+Vue3+TypeScript 实战课程【一篇文章精通系列】

Vue3集成ThreeJS实现3D效果&#xff0c;threejsViteVue3TypeScript 实战课程【一篇文章精通系列】 项目简介一、项目初始化1、添加一些依赖项 二、创建3D【基础搭建】1、绘制板子&#xff0c;立方体&#xff0c;球体2、材质和光照3、材质和光照和动画4、性能监控5、交互控制6、…