欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ssm整合基本配置之spring

程序员文章站 2022-05-27 16:09:18
...
个人理解+参考总结,有错误请提出,谢谢!


配置命名空间:命名空间与模式文档一一对应,有几个命名空间就有几个模式文档(.xsd)。

1、配置 PropertyPlaceholderConfigurer:读取配置文件。
<bean  id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">    
<property name="location">                                                       <value>classpath*: jdbc.properties</value>
</property>
</bean>
参考:http://www.cnblogs.com/dream-to-pku/p/6367396.html

2、配置注解自动扫描:<context:component-scan>
    如果扫描到有@Reposity @Controller @Service等这些注解的类,则把这些类注册为Bean。
    <context:component-scan>有一个use-default-filters属性,值默认为true。
    另外<context:annotation-config/>还提供了两个子标签 <context:include-filter> 和 <context:exclude-filter>
    在Use-dafault-filters=false的情况下,<context:exclude-filter>指定的不扫描,<context:include-filter>指定的扫描。
    在use-default-filters=true的情况下,默认扫描指定包下所有注解类,<context:exclude-filter>指定的包不扫描。
参考:http://www.cnblogs.com/youngjoy/p/3817471.html

3、配置数据源

参考:http://blog.csdn.net/yangyz_love/article/details/8199207
4、配置SqlSessionFactoryBean(SqlSessionFactoryBean是一个工厂Bean它的作用就是解析配置(数据源、别名等))
    在 MyBatis 中,使用 SqlSessionFactoryBuilder创建SqlSessionFactory ,进而来创建 SqlSession。一旦你获得一个 session 之后,你可以使用它来执行映射语句,提交或回滚连接,最后,当不再需要它的时候, 你可以关闭 session。
框架整合之后会使用SqlSessionFactoryBean来代替SqlSessionFactoryBuilder创建SqlSessionFactory。
参考:http://fhd001.iteye.com/blog/1125528
      http://blog.csdn.net/liuxiao723846/article/details/52424802
     
5、配置MapperScannerConfigurer
   MapperScannerConfigurer将自动扫描basePackage所指定的包下的所有接口类(包括子类),如果它们在SQL映射文件中定义过,则将它们动态定义为一个Spring Bean,这样,我们在Service中就可以直接注入映射接口的bean。
   如果它们在SQL映射文件中定义过,则将它们动态定义为一个Spring Bean:这句话个人理解是接口类在xml中经过nameSpace映射,将其编译成一个带有对数据库操作实现方法的类,相当于之前的dao层的方法。
参考:http://blog.csdn.net/u011318776/article/details/52819241


6、配置事务DataSourceTransactionManager

7、配置切面 <aop:config>
|第一个 * —— 通配 随便率性返回值类型| 
|第二个 * —— 通配包com.joinsoft.service下的随便率性class| 
|第三个 * —— 通配包com.joinsoft.service下的随便率性class的随便率性方法| 
|第四个 .. —— 通配 方法可以有0个或多个参数| 
<aop:config expose-proxy="true">
<aop:pointcut id="txPointcut"
      expression="execution(* com.joinsoft.service.*.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut" />
</aop:config>