1,通常情况下在spring里我们开始先会配置数据库信息,包括url,classDriver以及数据库账号密码。一般会将这些信息保存在config.properties的文件中,在spring中加载,加载方式有两种(1)<context:property-placeholder location="classpath:jdbc.properties"/>(2)<bean class=""> <property name="locations"><value>classpath:config.properties</value></property> </bean>
2.其次配置连接池,目前使用较多的是c3p0,dbcp,alibaba.
3.将数据连接池配置完成后,接下来配置mybatis,其配置也有两种方式。(1)<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:mybatis.xml"></property>
</bean>在mybatis.xml文件中,我们配置了别名,一级对应的映射数据库和实体的xml文件,将其配置在spring中,此时的mybatis是代理模式或者非代理模式均可。(2)<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="typeAliasesPackage" value="com.tianxun.ssm.entity"></property>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
<property name="basePackage" value="com.tianxun.ssm.mapper"></property>
</bean>
<bean id="userService" class="com.tianxun.ssm.service.UserService">
<property name="userMapper" ref="userMapper"></property>
</bean>这种配置方式,直接在spring中配置了别名实体以及映射的包,并且要为service层注入对应的mapper。
4.接下来配置对应的事务。
事务的配置主要有三步,(1)配置事务管理器<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<constructor-arg ref="dataSource"></constructor-arg>
</bean>
(2)配置相关设置(指定哪些方法需要加事务)
<tx:advice id="txAdvice" transaction-manager="txManager"><tx:attributes>
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="select*" propagation="SUPPORTS"/>
<tx:method name="*" propagation="SUPPORTS"/>
</tx:attributes>
</tx:advice>
(3)切面配置,及该事务使用在mvc结构的哪一层。
<aop:config><aop:pointcut expression="execution(* com.tianxun.ssm.service.*.*(..))" id="txpointcut"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txpointcut"/>
</aop:config>
以上就是我个人总结一些 spring配置心得,如果有不正确的地方,欢迎各位指正。