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

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

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


项目介绍


项目功能/界面


● SSM 整合项目界面


eb86c397834bb8fdf759f4c2be224b34.png


配置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/mapper
        2. 所以这里指定的value 是 classpath:mapper/*.xml
        -->
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>
    </bean>
    <!-- 配置扫描器,将mybatis接口的实现加入到ioc容器中
    1、我们的mapper接口放在com.nlc.furn.dao
    2. 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 文件

0303f3242c49e0ef607bd2b4e311abb7.png


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

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


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

a7415d318edd55218cc43df3fb5ef246.png

相关文章
|
8天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的大学生校园兼职附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的大学生校园兼职附带文章和源代码部署视频讲解等
30 8
|
8天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的停车场微信小程序附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的停车场微信小程序附带文章和源代码部署视频讲解等
20 6
|
8天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的电影评价系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的电影评价系统附带文章和源代码部署视频讲解等
28 8
|
8天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的跑腿平台附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的跑腿平台附带文章和源代码部署视频讲解等
26 10
|
8天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的疫情期间学生请假与销假系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的疫情期间学生请假与销假系统附带文章和源代码部署视频讲解等
35 7
|
8天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的马拉松报名系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的马拉松报名系统附带文章和源代码部署视频讲解等
26 6
|
8天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的英语学习交流平台附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的英语学习交流平台附带文章和源代码部署视频讲解等
20 7
|
8天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的生活小助手附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的生活小助手附带文章和源代码部署视频讲解等
20 4
|
8天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的使命召唤游戏助手附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的使命召唤游戏助手附带文章和源代码部署视频讲解等
19 5
基于ssm+vue.js+uniapp小程序的使命召唤游戏助手附带文章和源代码部署视频讲解等
|
8天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的上门维修系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的上门维修系统附带文章和源代码部署视频讲解等
17 6