SSM整合之applicationContext.xml(也叫Mybatis-config.xml)文件的详细配置加解释说明,web.xml文件的配置

简介: SSM整合之applicationContext.xml(也叫Mybatis-config.xml)文件的详细配置加解释说明,web.xml文件的配置

ssm整合,mybatis-config.xml文件的配置信息:

applicationContext.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:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
     http://www.springframework.org/schema/context/spring-context.xsd
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
">
  <!-- 启动自动扫描该包下所有的Bean(例如@Controller) -->
  <context:component-scan base-package="com.macw" />
    <!--
   把小配置文件 jdbc.properties引入到spring配置文件中
     location:引入的小配置文件的路径
     system-properties-mode:表示不从系统属性里面获取变量,否则会跟我们的小配置文件冲突
    -->
    <context:property-placeholder location="classpath:jdbc.properties" system-properties-mode="NEVER"></context:property-placeholder>
    <!-- 数据源(数据库连接池),jdbc连接数据库需要的数据库连接都从这个类中获取 -->
    <bean id="ds" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="password" value="${password}"/>
        <property name="username" value="${username}"/>
        <property name="driverClassName" value="${driverClassName}"/>
        <property name="url" value="${url}"/>
        <property name="maxWait" value="${maxWait}"/>
        <property name="maxActive" value="${maxActive}"/>
        <property name="initialSize" value="${initialSize}"/>
    </bean>
    <!-- 配置sqlSessionFactoy的bean对象,配置好后,这个bean就可以帮助创建sqlSession对象了 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="ds"/>
        <!--  注册映射文件  -->
        <property name="mapperLocations">
            <list>
                <!-- 把所有的dao包里面的mapper文件引入进来 -->
                <value>classpath:com/macw*.xml</value>
            </list>
        </property>
        <!-- 还可以设置其他配置 -->
        <property name="typeAliasesPackage" value="com.macw.entity"/>
        <property name="configurationProperties">
            <props>
                <prop key="logImpl">LOG4J</prop>
            </props>
        </property>
    </bean>
    <!-- 让spring帮我生成dao接口的实现类 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 告知spring生成哪些接口的实现类 -->
        <property name="basePackage" value="com.macw.dao"/>
        <!-- dao操作数据库时需要sqlSessonfactory,spring会自动找一个id="sqlSessionFactrory"的bean标签 -->
    </bean>
    <!-- 相当于配置了一个 bean标签 id="bookDao" -->
    <!-- 扫描业务包里面的注解 -->
    <context:component-scan base-package="com.macw.service.impl"/>
    <!-- 事务管理器类 -->
    <bean id="tm" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="ds"/>
    </bean>
    <!--
    配置事务增强类
        在这个里面我们使用了特殊的标签tx:advice,spring会自动判断出使用哪个增强类
        id:这个增强类的标记
        transaction-manager是使用哪个事务管理器。要跟上面的bean的id一致
     -->
    <tx:advice id="ct" transaction-manager="tm">
        <!-- 事务的使用策略,哪些方法需要使用事务,哪些不需要使用事务 -->
        <tx:attributes>
            <!-- 方法名是select开头的,以后我们定义业务类的方法名不能随意写了。 -->
            <tx:method name="select*" read-only="true"/>
            <!-- 其余的方法要开启事务 -->
            <tx:method name="*" propagation="REQUIRED"/>
        </tx:attributes>
    </tx:advice>
    <!--  配置切入点和织入  -->
    <aop:config>
        <aop:pointcut id="pc" expression="execution(* com.macw.service..*.*(..))"/>
        <aop:advisor advice-ref="ct" pointcut-ref="pc"/>
    </aop:config>
</beans>

小配置文件jdbc.properties

username=hr
password=hr
url=jdbc:oracle:thin:@localhost:1521:xe
driverClassName=oracle.jdbc.OracleDriver
initialSize=10
maxActive=15
maxWait=10000

web.xml文件配置信息:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app version="2.5"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <!-- 1.配置监听,spring-mybatis.xml文件 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/mybatis-config.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- 2.配置spring-mvc.xml,加载spring容器文件 -->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/spring-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <display-name>Archetype Created Web Application</display-name>
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  <!-- 3.过滤器,字符编码,p125 -->
  <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>utf-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <!-- 4.静态资源访问 -->
  <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.js</url-pattern>
    <url-pattern>*.css</url-pattern>
    <url-pattern>*.jpg</url-pattern>
    <url-pattern>*.png</url-pattern>
    <url-pattern>*.PNG</url-pattern>
    <url-pattern>*.gif</url-pattern>
    <url-pattern>*.json</url-pattern>
    <url-pattern>*.html</url-pattern>
  </servlet-mapping>
  <!-- 5.jsp配置 -->
  <error-page>
    <error-code>404</error-code>
    <location>/404.html</location>
  </error-page>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
目录
相关文章
|
3月前
|
XML Java 数据库连接
MyBatis的常见配置
MyBatis 常见配置包括数据库连接、类型别名、映射器等核心模块,合理配置可提升开发效率与系统性能。主要内容涵盖核心配置文件结构、关键配置项详解及配置优先级说明。
374 4
|
3月前
|
安全 测试技术 程序员
web渗透-文件包含漏洞
文件包含漏洞源于程序动态包含文件时未严格校验用户输入,导致可加载恶意文件。分为本地和远程包含,常见于PHP,利用伪协议、日志或session文件可实现代码执行,需通过合理过滤和配置防范。
643 79
web渗透-文件包含漏洞
|
6月前
|
Web App开发 监控 安全
OSS客户端签名直传实践:Web端安全上传TB级文件方案(含STS临时授权)
本文深入解析了客户端直传技术,涵盖架构设计、安全机制、性能优化等方面。通过STS临时凭证与分片上传实现高效安全的文件传输,显著降低服务端负载与上传耗时,提升系统稳定性与用户体验。
613 2
|
4月前
|
SQL XML Java
通过MyBatis的XML配置实现灵活的动态SQL查询
总结而言,通过MyBatis的XML配置实现灵活的动态SQL查询,可以让开发者以声明式的方式构建SQL语句,既保证了SQL操作的灵活性,又简化了代码的复杂度。这种方式可以显著提高数据库操作的效率和代码的可维护性。
307 18
|
9月前
|
Oracle 关系型数据库 Java
【YashanDB知识库】Mybatis-Plus适配崖山配置
【YashanDB知识库】Mybatis-Plus适配崖山配置
|
9月前
|
Java 数据库连接 微服务
微服务——MyBatis配置——事务管理
本段内容主要介绍了事务管理的两种类型:JDBC 和 MANAGED。JDBC 类型直接利用数据源连接管理事务,依赖提交和回滚机制;而 MANAGED 类型则由容器全程管理事务生命周期,例如 JEE 应用服务器上下文,默认会关闭连接,但可根据需要设置 `closeConnection` 属性为 false 阻止关闭行为。此外,提到在使用 Spring + MyBatis 时,无需额外配置事务管理器,因为 Spring 模块自带的功能可覆盖上述配置,且这两种事务管理器类型均无需设置属性。
155 0
|
9月前
|
Java 数据库连接 数据库
微服务——MyBatis配置——多环境配置
在 MyBatis 中,多环境配置允许为不同数据库创建多个 SqlSessionFactory。通过传递环境参数给 SqlSessionFactoryBuilder,可指定使用哪种环境;若忽略,则加载默认环境。`environments` 元素定义环境配置,包括默认环境 ID、事务管理器和数据源类型等。每个环境需唯一标识,确保默认环境匹配其中之一。代码示例展示了如何构建工厂及配置 XML 结构。
155 0
|
9月前
|
缓存 Java 数据库连接
微服务——MyBatis配置——常见配置
本文介绍了 MyBatis 的常见配置及其加载顺序。属性配置优先级为:方法参数传递的属性 &gt; resource/url 属性中配置 &gt; properties 元素中指定属性。同时列举了多个关键配置项,如 `cacheEnabled`(全局缓存开关)、`lazyLoadingEnabled`(延迟加载)、`useGeneratedKeys`(使用 JDBC 自动生成主键)等,并详细说明其作用、有效值及默认值。这些配置帮助开发者优化 MyBatis 的性能与行为。
146 0
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
282 1
|
9月前
|
Java 数据库连接 数据库
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——MyBatis 介绍和配置
本文介绍了Spring Boot集成MyBatis的方法,重点讲解基于注解的方式。首先简述MyBatis作为持久层框架的特点,接着说明集成时的依赖导入,包括`mybatis-spring-boot-starter`和MySQL连接器。随后详细展示了`properties.yml`配置文件的内容,涵盖数据库连接、驼峰命名规范及Mapper文件路径等关键设置,帮助开发者快速上手Spring Boot与MyBatis的整合开发。
1196 0