总结一下ssm项目框架搭建流程
1创建一个web项目工程,勾选web.xml的自动生成配置;
勾选Generate web.xml deployment descriptor
然后将相应的jar包导入lib文件下,总共35个jar包。记得将数据库相关的jar包倒入进去
lib文件下
配置web.xml文件
配置两个内容,一个是spring,一个是springmvc的配置
Spring配置
通过全局上下文参数来加载spring配置文件
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
配置i监听器
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener<listener-class>
</listener>
在web.xml继续配置springmvc信息
首先配置servlet,通过servlet标签配置dispatchServlet 需要一个初始化尝试,加载springmvc配置文件
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.dispatchServlet</servlet-class>
//这里需要一个初始化参数,加载springmvc配置文件
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:servlet-mvc.xml</param-value>
这里可以选择配置,表示容器启动就加载servlet,如果不配置的话表示请求的时候加载
<load-on-startup>1</load-on-startup>
</init-param>
</servlet>
配置mapping,
<servlet-mapping>
<servlet-name>mvc</serv;et-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
然后配置一下中文乱码问题,继续在web.xml配置相关信息
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.characterEncodingFilter<filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
<init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter<filter-name>
url-pattern>/*<url-pattern>
</filter-mapping>
然后进行下一步
加入三个配置文件。Spring,springmvc,mybatis这三个配置文件需要加入
mybatis-config.xml,applicationContext.xml,servlet-mavc.xml
将配置文件放在src目录 下即可
spring的扫描包:配置了事务
自动扫描:根据注解创建实例化,控制反转
引入配置文件,jdbc驱动包等信息
配置数据源,需要的信息根据第二部中的jdbc中的配置信息来应用
配置mybatis的sqlSessionFactory:有了它才可以使用mybatis
(数据源:第三步骤配置的数据源,自动扫描mappers.xml信息,所有的映射文件,放在一个对应的路径下,加载mybatis的配置文件
DAO成接口包,该包下的所有都会被实例化。
配置事物管理,交由spring来管理。定义事务传播属性
配置事务切面
异常处理相关
关于spring的配置信息如下
1自动扫描
<context:component-scan base-package=""/> 配置对应的DAO,service,entity层的包路径
引入配置文件
<context:propetry-placeholder lcoation="classpath:jdbc.properties"/>
配置数据源
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
下面就是driverClass,url,username,password,initialPoolSize相关的信息
配置mybatis的sqlsessionFactory、
<bean id="sqlSessionFactory" class="org.mybatis.spring.sqlSesstionFactoryBean">
<property name="dataSource" ref="dataSource"/>
自动扫描mapper.xml文件
<properties name="configLocation" value="classpath:mybatis/mappers/*.xml"></property>
mybatis配置文件
<property name="configLocation" value="classpath:mybatis/mybatis-config.xml"></property>
dao接口所在包名,spring会自动查找旗下的类
bean class=“org.mybatis.spring.,mapper.MapperScannerConfigurer”
property name="basePackage" value="包路径"
property name="sqlSessionFactoryBeanName" value="sqlsessionFactory"
事务管理 transaction manager
bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
property name="dataSource" ref="dataSource"
配置事务通知属性
tx:advice id="txAdvice" transaction-manager="transactionmanager"
定义事务传播属性
tx:attribures
tx:method name="add*(这里放自己定义的方法,类似insert*,save*,update*,delete*)"
最后加一个<tx:method name="*" propatation="SUPPORTS"/>
配置事务切面
aop:config
aop:pointcut id="serviceOperation"
expression="execution(* com)"
aop:advistor advice-ref="exAdvice" pointcut-ref="serviceOperation"
异常统一处理
bean id="exceptionResolver" class="定义的包路径"
springmvc(servlet-mvc.xml)配置
扫描包
context:component-scan base-package="controller包路径"
添加数据转换的注解驱动
mvc:annotation-driver
mvc:message-converters
bean class="org.springframework.http.converter.StringHttpMessageConverter"
bean class="org.springframework,htto,converter.json.MappingJackson2httpMessageConverter"
mvc:message-converters
mvc:annotation-driver
视图解析器
bean id="viewResolver" class="org.springframework.web.servlet.view.internalresourceviewresolver"
property name="prefix' value="/"
property name="suffix" value=".jsp"
/bean
上传组件
bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonMultipartResolver"
设置上传的编码格式
property name="defaultEncoding" value="utf-8"
设置最大上传大小
property name=""maxUploadSize
静态资源配置设置
mvc:default-servlet-handler
mybatis配置文件(mybatis-config.xml)
configuration
别名
typeAliases
package name="实体类包路径"
typeAliases
/configuration
jdbc文件与log4j配置文件就不写了