1.applicationContext.xml配置文件在web项目中的作用
以及其他对数据交互、连接外部服务的功能
这些功能是完成SSM框架对web项目作用的基础
2.applicationContext.xml配置文件的组成部分
<?xml version="1.0" encoding="UTF-8"?>
version——声明xml版本号
encoding——声明xml传输数据编码
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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
配置内容……
</beans>
解释:
【xmlns=“http://www.springframework.org/schema/beans”】
声明xml文件默认的命名空间,表示未使用其他命名空间的所有标签的默认命名空间。
【xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”】
声明XML Schema实例,声明后就可以使用schemaLocation属性。
【xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd】
指定Schema的位置这个属性必须结合命名空间使用。这个属性有两个值,第一个值表示需要使用的命名空间。第二个值表示供命名空间使用的XML schema的位置。
上面配置的命名空间指定xsd规范文件,这样你在进行下面具体配置的时候就会根据这些xsd规范文件给出相应的提示,比如说每个标签是怎么写的,都有些什么属性是都可以智能提示的,在启动服务的时候也会根据xsd规范对配置进行校验。
配置技巧:对于属性值的写法是有规律的,中间使用空格隔开,后面的值是前面的补充,也就是说,前面的值是去除了xsd文件后得来的。
以上解释取自
https://blog.csdn.net/tanga842428/article/details/78572708
我们可以看到在xsi中所配置的实例一定是与xmlns声明相对应
<!-- 引入数据源文件-->
<context:property-placeholder location="classpath:db.properties"/>
<!-- 配置数据源-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 注入相关数据-->
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="maxPoolSize" value="30"/>
<property name="minPoolSize" value="2"/>
</bean>
<!--配置SqlSessionFactory对象-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 产生sqlSession会话,连接数据库-->
<property name="dataSource" ref="dataSource"/>
<!-- 自动配置实体类别名 -->
<property name="typeAliasesPackage" value="com.zjitc.bean"/>
<!-- 自动加载mapper配置-->
<property name="mapperLocations">
<!-- 用数组的方式进行多个mapper进行自动加载-->
<array>
<value>classpath:mapper/UserMapper.xml</value>
<value>classpath:mapper/HouseMapper.xml</value>
</array>
</property>
<!-- 配置pageHelper分页插件-->
<property name="plugins">
<array>
<!-- 加载PageInterceptor,传入插件对象-->
<bean class="com.github.pagehelper.PageInterceptor">
<!-- 加载数据注入-->
<property name="properties">
<props>
<!-- 自动监测数据库连接-->
<prop key="helperDialect">mysql</prop>
<!--
分页合理化参数,默认值为 false 。
当该参数设置为 true 时, pageNum<=0 时会查询第一页,pageNum>pages (超过总数时),会查询最后一页。
默认 false 时,直接根据参数进行查询。
-->
<prop key="reasonable">true</prop>
</props>
</property>
</bean>
</array>
</property>
<!--开启驼峰命名,对数据库中的字段以及实体类取消大小写以及特殊符号,以保证能够实体类与数据库互通-->
<property name="configuration">
<bean class="org.apache.ibatis.session.Configuration">
<property name="mapUnderscoreToCamelCase" value="true"/>
</bean>
</property>
</bean>
<!--Mapper扫描器,扫描映射器并且开启sqlSession会话-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.zjitc.dao"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
<!--包扫描器,对指定包内的所有成员进行扫描,主要针对使用注解的对象进行扫描,自动注册为bean-->
<context:component-scan base-package="com.zjitc"/>
<!--开启事务管理器,服务端请求数据库时失败,则回滚数据;若成功,则执行sql-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!--开启事务注解扫描器-->
<tx:annotation-driven></tx:annotation-driven>
暂且就这些,若有更多将会更新……