1、SSM:spring+springmvn+mybatis
- SpringMVC + Spring :
父容器:SpringICO容器管理Service层+Mpper层
子容器:springMVC容器管理Controller层
- MyBatis + Spring :
mybatis数据源管理托管给spring去管理
mybatis框架的核心对象SqlSessionFactory对象托管给spring去管理
mybatis的声明式事物托管给spring去管理
2、三大框架需要用到的jar包
- springICO
commons-logging-1.1.3.jar
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.RELEASE.jar
spring-core-4.0.0.RELEASE.jar
spring-expression-4.0.0.RELEASE.jar
- springAOP
com.springsource.net.sf.cglib-2.2.0.jar
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
spring-aop-4.0.0.RELEASE.jar
spring-aspects-4.0.0.RELEASE.jar
- spring使用的其他jar
c3p0-0.9.1.2.jar
mysql-connector-java-5.1.7-bin.jar
spring-jdbc-4.0.0.RELEASE.jar
spring-orm-4.0.0.RELEASE.jar
spring-tx-4.0.0.RELEASE.jar
- spring与web整合
spring-web-4.0.0.RELEASE.jar
- springmvc
spring-webmvc-4.0.0.RELEASE.jar
- mybatis
mybatis-3.2.8.jar
mybatis-spring-1.2.2.jar
以上为使用到的一下jar包只能作为参考,项目实际搭建过程中需要根据自己的情况去调整相应的jar包。
3、spring配置文件:application.xml
<context:component-scan base-package="com.atguigu.ssm">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan><!-- 加载外部属性资源文件,加载Spring的运行环境中 -->
<context:property-placeholder location="classpath:/jdbc.properties" />
<!-- C3P0 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="driverClass" value="${jdbc.driverClass}" />
<property name="initialPoolSize" value="${initialPoolSize}" />
<property name="minPoolSize" value="${minPoolSize}" />
<property name="maxPoolSize" value="${maxPoolSize}" />
</bean>
<!-- 事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 用于创建SqlSessionFactory -->
<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:/mybatis-config.xml"/>
<property name="typeAliasesPackage" value="com.atguigu.ssm.bean"/>
</bean>
<!-- 设置扫描Mapper -->
<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.atguigu.ssm.mapper"/>
</bean><!-- 声明式事物-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean><!-- -->
<tx:annotation-driven transaction-manager="transactionManager"/>
4、springMVC配置文件
<!-- 设置扫描包:
SpringMVC:只管理Handler,其他Bean不管理;
-->
<context:component-scan base-package="com.atguigu.ssm" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan><!-- 视图解析器 -->
<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"></property>
</bean>
<!-- 静态资源处理 -->
<mvc:default-servlet-handler/>
<mvc:annotation-driven/>
<!-- 穿越火线 -->
<!-- <mvc:view-controller path="" view-name=""/> -->
<!-- 管理国际化资源文件 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="i18n"/>
</bean>
<!-- 国际化解析器 -->
<!-- <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean> -->
<!-- 拦截器 -->
<mvc:interceptors>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> </bean>
</mvc:interceptors>
<!-- 异常解析器 -->
<bean id="simpleMappingExceptionResolver"
class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<!-- <property name="exceptionAttribute" value="e"/> -->
<property name="exceptionMappings">
<props>
<prop key="java.lang.Exception">error</prop>
</props>
</property>
</bean>
<!-- 类型转换器服务对象 -->
<bean id="conversionService"
class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<list>
<!-- <bean class="com.atguigu.springmvc.converter.StringToEmployeeConverter"></bean> -->
</list>
</property>
</bean>
5、mybatis的配置文件:mybatis-config.xml
<!--二级缓存,懒加载 -->
<configuration>
<settings>
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="aggressiveLazyLoading" value="false"/>
<setting name="cacheEnabled" value="true"/>
</settings></configuration>