SSM(Vue3+ElementPlus+Axios+SSM前后端分离)【三】

文章目录

  • SSM(Vue3+ElementPlus+Axios+SSM前后端分离)--基础环境搭建【三】
    • 项目介绍
      • 项目功能/界面
        • ● SSM 整合项目界面
      • 配置Spring 和MyBatis , 并完成整合

SSM(Vue3+ElementPlus+Axios+SSM前后端分离)–基础环境搭建【三】

项目介绍

项目功能/界面

● SSM 整合项目界面

image-20230802214015021

配置Spring 和MyBatis , 并完成整合

1、创建spring 的配置文件applicationContext.xml : 主要配置和业务逻辑有关的,比如数据源,事务控制等
2、创建furns_ssm\src\main\resources\applicationContext.xml , 并加入必要的命名空间, 提示:同样适用前面的方式创建: 右键->New->XML configuration ->Spring Config

<?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 https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"><!-- spring的配置文件 : 主要配置和业务逻辑有关的,比如数据源,事务控制等 --><!--配置扫描com.nlc 包,但是不扫描控制器, 控制器由springmvc 管理1. 扫描com.nlc.furn包 [包括子包]2. context:exclude-filter 配置说明 不扫描控制器--><context:component-scan base-package="com.nlc.furn"><context:exclude-filter type="annotation"expression="org.springframework.stereotype.Controller"/></context:component-scan><!--引入外部的jdbc.properties文件--><context:property-placeholder location="classpath:jdbc.properties"/><!--配置数据源对象-DataSoruce Druid数据源--><bean class="com.alibaba.druid.pool.DruidDataSource" id="pooledDataSource"><!--给数据源对象配置属性值--><property name="username" value="${jdbc.user}"/><property name="password" value="${jdbc.pwd}"/><property name="driverClassName" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/></bean><!--配置mybatis和spring整合1、在项目中引入 mybatis整合到spring的适配库/包2. 这里爆红,是因为你还没有相应的文件, 当有文件时,就不会爆红--><bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory"><!--指定mybatis全局配置文件--><property name="configLocation" value="classpath:mybatis-config.xml"/><!--指定数据源--><property name="dataSource" ref="pooledDataSource"/><!--指定mybatis的mapper文件[Mapper.XML]位置1、我们在开发中, 通常将mapper.xml放在类路径 resources/mapper2. 所以这里指定的value 是 classpath:mapper/*.xml--><property name="mapperLocations" value="classpath:mapper/*.xml"/></bean><!-- 配置扫描器,将mybatis接口的实现加入到ioc容器中1、我们的mapper接口放在com.nlc.furn.dao2. mybatis就是处于DAO层, 操作DB--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!--1. 扫描所有的dao接口的实现,加入到ioc容器中2. 这里dao接口,就是mapper接口--><property name="basePackage" value="com.nlc.furn.dao"/></bean><!--配置事务管理器-对象1. DataSourceTransactionManager 这个对象是进行事务管理2. 一定要配置数据源属性,这样指定该事务管理器 是对哪个数据源进行事务控制--><bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager" id="transactionManager"><property name="dataSource" ref="pooledDataSource"/></bean><!--&lt;!&ndash;配置启动基于注解的声明式事务管理功能--><!--这是以前的玩法, 使用XML配置+切入表达式来玩--><!--&ndash;&gt;--><!--<tx:annotation-driven transaction-manager="transactionManager"/>--><!--解读1. 开启基于注解的事务,并指定切入点2. execution(* com.nlcfurns.service..*(..)):表示对com.nlc.furns.service包所有类的所有方法控制事务3. tx:advice : 配置事务增强, 也就是指定事务如何切入4. 不需要背,但是能看到,能修改,能维护--><aop:config><!-- 切入点表达式 --><aop:pointcut id="txPoint" expression="execution(* com.nlc.furn.service..*(..))"/><!-- 配置事务增强/规则: 使用txAdvice 指定规则对 txPoint进行切入--><aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/></aop:config><!--    配置事务增强【指定事务规则】,也就是指定事务如何切入--><tx:advice id="txAdvice"><tx:attributes><!-- *代表所有方法都是事务方法--><tx:method name="*"/><!-- 以get开始的所有方法 ,我们认为是只读,进行调优--><tx:method name="get*" read-only="true"/></tx:attributes></tx:advice></beans>

3.创建furns_ssm\src\main\resources\jdbc.properties , 配置连接mysql 的信息

jdbc.userName=root
jdbc.password=123456
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/furns_ssm?userSSL=true&amp;userUnicode=true&amp;characterEncoding=UTF-8
#密码和端口是自己的

4.在类路径resources 下创建furns_ssm\src\main\resources\mybatis-config.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>
</configuration>

5.在类路径下创建mapper 目录,存放mapper 的xml 文件

在这里插入图片描述

6.完成测试: 创建furns-ssm\src\test\java\com\nlc\furns\test\T1.java

public class T1 {@Testpublic void t1() {//看看spring配置的Bean是否可以获取到//1. 获取到容器ApplicationContext ioc =new ClassPathXmlApplicationContext("applicationContext.xml");//获取BeanSystem.out.println(ioc.getBean("pooledDataSource"));System.out.println(ioc.getBean("sqlSessionFactory"));}
}

看看是否能够得到Spring 容器的数据源对象和会话工厂对象.
image-20230731201152199

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

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

相关文章

回调函数的简单用例

列举项目中一个简单的回调函数用例 ①用MsgInterface_t定义一个结构体s_Lin_MsgInterface&#xff0c;包含两个回调函数成员&#xff1a; ②确定结构体下的回调函数成员的参数&#xff1a; ③传入实参&#xff0c;确定结构体下的回调函数成员的函数名&#xff1a; ④最终回…

【数据结构与算法——TypeScript】算法的复杂度分析、 数组和链表的对比

【数据结构与算法——TypeScript】 算法的复杂度分析 什么是算法复杂度(现实案例)&#xff1f; ❤️‍&#x1f525; 前面已经解释了什么是算法&#xff1f; 其实就是解决问题的一系列步骤操作、逻辑。 ✅ 对于同一个问题&#xff0c;我们往往有很多种解决思路和方法&#x…

Jenkins工具系列 —— Jenkins 安装并启动

文章目录 安装涉及相关链接选择安装Jenkins版本安装JenkinsJenkins web页面启动卸载Jenkins 安装涉及相关链接 Jenkins官网&#xff1a; https://www.jenkins.io/zh/ Jenkins下载安装步骤&#xff1a; https://www.jenkins.io/zh/download/ 安装各种版本OpenJDK&#xff1a; h…

weui cells 如何去掉边框

问题&#xff1a;weui cells 如何去掉边框 解决&#xff1a; cells通过before,after实现边框&#xff0c;不显示的话&#xff0c;在引用的页面wxss加上&#xff1a; .weui-cells:before,.weui-cells:after {border: none; }

3分钟白话RocketMQ系列—— 核心概念

白话3分钟&#xff0c;快速了解RocketMQ基础&#xff0c;包括适用场景&#xff0c;以及基本概念。 看完如果不了解&#xff0c;欢迎来打我。 关键字摘要 低延迟、高可用、高可靠、高并发 的消息中间件适合在线业务分为producer、consumer、nameserver、broker等角色另外还有主…

过程:从虚拟机上添加 git 并成功提交到 GitLab 的全过程

Ⅰ、准备工作&#xff1a; 1、Git 查看&#xff1a; 其一、命令&#xff1a;git --version // 此时就能在虚拟机环境下看到 git 的版本为: git version 2.41.0 其二、如何在虚拟机上安装 git &#xff1a; A、命令 &#xff1a; sudo apt-get install git B、然后再输入虚…

最不透明的211!大幅度扩招!但数据分析太难做了!

一、学校及专业介绍 中国传媒大学&#xff08;Communication University of China&#xff09;&#xff0c;简称“中传”&#xff0c;位于首都北京市&#xff0c;是中华人民共和国教育部直属的信息传播领域行业特色大学&#xff0c;国家“双一流”建设高校&#xff0c;国家“21…

基础篇:多线程所需知识:RAII接口模式对生产者和消费者封装以及多batch实现

我们先来弄一个最基础的infer类&#xff1a; class Infer{ public: bool load_model(const string &file){context_ file;return true;} void forward(){if(context_.empty()){printf("加载模型异常\n");return;}printf("使用%s进行推理\n " , contex…

学会这样提问,你就超过了82.7%的老网工

下午好&#xff0c;我的网工朋友 很多朋友会说&#xff0c;我怎么问问题&#xff0c;在群里&#xff0c;或者后台&#xff0c;还有给老杨总发消息&#xff0c;都没收到比较详细的回复&#xff1f;尤其是问技术问题的时候。 除了我们回复消息的时间和精力的确比较有限之外&…

解密外接显卡:笔记本能否接外置显卡?如何连接外接显卡?

伴随着电脑游戏和图形处理的需求不断增加&#xff0c;很多笔记本电脑使用者开始考虑是否能够通过外接显卡来提升性能。然而&#xff0c;外接显卡对于笔记本电脑是否可行&#xff0c;以及如何连接外接显卡&#xff0c;对于很多人来说仍然是一个迷。本文将为您揭秘外接显卡的奥秘…

单价20块蓝牙耳机卖爆越南市场,现象级爆款出现?

以儒道为文化底蕴的越南&#xff0c;是与中国最为相近的东南亚国家&#xff0c;"快速增长的劳动人口相对年轻的社会群体"是很多人对越南这个国家的基本认知。背靠庞大的Z世代用户群体&#xff0c;越南社会年轻化消费需求暴涨&#xff0c;手机与数码品类商品作为“年轻…

Linux中使用verdaccio 搭建私有npm 服务器

安装verdaccio npm i -g verdaccio安装完成 输入verdaccio,出现下面信息代表安装成功&#xff0c;同时输入verdaccio后verdaccio已经处于运行状态&#xff0c;当然这种启动时暂时的&#xff0c;我们需要通过pm2让verdaccio服务常驻 ygiZ2zec61wsgbo9t9i346jbZ:~$ verdacciowar…

Vue使用QuillEditor富文本编辑器问题记录

1.内容绑定的问题 绑定内容要使用 v-model:content"xxx" 的形式。 2.设置字体字号 字体以及字号大小的设置需要先注册。 <script> import { QuillEditor,Quill } from vueup/vue-quill import vueup/vue-quill/dist/vue-quill.snow.css; // 设置字体大小 c…

Elasticsearch和Kibana的安装及验证

金翅大鹏盖世英&#xff0c;展翅金鹏盖世雄。 穿云燕子锡今鸽&#xff0c;踏雪无痕花云平。 ---------------- 2023.7.31.101 ----------------- 本文密钥&#xff1a;365 Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎&#xff0c;常用来进行全文检索、…

c语言指针的运算

1、通过指针计算数组的元素&#xff08;指针相减&#xff0c;类型需要一致&#xff09;&#xff0c;比如数组元素指针相减得到的是中间相差的元素个数&#xff0c;可以用于计算数组元素的个数等 #include "stdio.h" #include <stdlib.h>int main() {int a[10]…

【树状数组】讲解

一.介绍 树状数组&#xff08;Fenwick Tree&#xff09;&#xff0c;也称为二叉索引树&#xff08;Binary Indexed Tree&#xff0c;BIT&#xff09;&#xff0c;是一种用于高效处理动态数组前缀和的数据结构。它可以在O(log n)的时间复杂度内完成单点更新和区间查询操作。 树…

C# Blazor 学习笔记(3):路由管理

文章目录 前言路由管理App.razor设置登录页面设置空布局 前言 我们知道使用Blazor的官方模板&#xff0c;我们会自动得到一个拥有侧边栏的布局页面。但是我们发现我们所有新建的页面都有侧边栏。有时候我们需要跳出这个布局&#xff0c;比如我要做登录页面的时候&#xff0c;我…

微信小程序中的全局数据共享(状态管理)使用介绍

开发工具&#xff1a;微信开发者工具Stable 1.06 一、状态管理简介 微信小程序全局状态是指可以在不同页面之间共享的数据或状态。 它可以存储用户的登录状态、个人信息、全局配置信息等。 二、安装MobX 1、安装NPM 在资源管理器的空白地方点右键&#xff0c;选择“在外部…

css在线代码生成器

这里收集了许多有意思的css效果在线代码生成器适合每一位前端开发者 布局&#xff0c;效果类&#xff1a; 网格生成器https://cssgrid-generator.netlify.app/ CSS Grid Generator可帮助开发人员使用CSS Grid创建复杂的网格布局。网格布局是创建Web页面的灵活和响应式设计的强…

解密HTTP代理爬虫中的IP代理选择与管理策略

在当今数据驱动的世界中&#xff0c;HTTP代理爬虫作为一项重要的数据采集工具&#xff0c;其成功与否往往取决于IP代理的选择与管理策略。作为一家专业的HTTP代理产品供应商&#xff0c;我们深知IP代理在数据采集中的重要性。在本文中&#xff0c;我们将分享一些关于HTTP代理爬…