现在做个项目 如果用 SSM框架,之前觉得整合框架是一件很头疼的事,所有现在要从头来过,从头开始搭建SSM框架,
更好的理解和掌握各个框架。
SSM框架就是Spring+SpringMVC+Mybatis,相对于SSH框架来说,SpringMVC可与Spring更好的整合,Mybatis也比Hibernate
更好的写sql语句,更简单方便。
首先是先导入jar包,三个框架所需要的JAR包,
一、首先是Spring ,配置自动扫包,<context:component-scan base-package="com.*****"/>,开启注解
关于注解参考:https://www.cnblogs.com/zss-xjx/p/5980074.html
引入配置源数据文件:<context:property-placeholder location="classpath:application.properties" />
二、Spring-mvc配置文件
配置扫描controller层(controller要注入)
<mvc:annotation-driven/> 扩充了注解驱动,可以将请求参数绑定到控制器参数 ,例如可以自己配置@Controlle("UserActisn")
默认的为userAction
<mvc:default-servlet-handler /> 静态资源处理(处理JS,css等)
JSON处理 <!--避免IE执行AJAX时,返回JSON出现下载文件 -->
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON转换器 -->
</list>
</property>
</bean>
<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 默认编码 -->
<property name="defaultEncoding" value="utf-8" />
<!-- 文件大小最大值 -->
<property name="maxUploadSize" value="10485760000" />
<!-- 内存中的最大值 -->
<property name="maxInMemorySize" value="40960" />
<!-- 启用是为了推迟文件解析,以便捕获文件大小异常 -->
<property name="resolveLazily" value="true"/>
</bean>
对模型视图添加前后缀
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
三、Spring-Mybatis.xml
1、配置数据源<bean id="dataSource class="org.apache.commons.dbcp.BasicDataSource>
2、sqlSessionFactory,Spring和Mybaits结合,自动扫描Mapping文件
<!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描mapping.xml文件 -->
<property name="mapperLocations" value="classpath:com/javen/mapping/*.xml"></property>
</bean>
3、配置Dao接口所在的包,Spring会自动查找下面的类
<!-- DAO接口所在包名,Spring会自动查找其下的类 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.javen.dao" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean>
4、配置事务管理器
<!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
5、支持事务的注解
<tx:annotation-driven transaction-manager="transactionMsiager" />
四、当然不能忘了web.xml
1、读取Spring.xml文件
2、字符编码过滤器
3、Spring-mvc的核心配置文件
4、拦截器<servlet-mapping>
框架整合参考 :https://blog.csdn.net/qq_37840993/article/details/81531930