spring + springmvc + mybatis整合

项目场景:

spring + springmvc + mybatis整合


描述:

这里对ssm框架整合做一个说明:spring管理javaBean(创建对象和使用注解),springmvc管理表现层(主要配置controller层和web.xml)


分析:

在使用spring时,需要spring管理属性文件和连接数库,管理创建对象的会话工厂;对接口类和指定的基础包进行扫描,接下面是代码例子


spring xml文件代码部分:

//在applicationContext.xml中配置spring部分
<!-- 管理属性文件 -->
	<context:property-placeholder location="classpath:db.properties" system-properties-mode="NEVER"/> 
	// 这里的 system-properties-mode="NEVER" 表示可以从属性文件中读取属性


	<!-- 配置连接数据库 四大金刚,值使用el表达式动态获取-->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="${driverClassName}"></property>
		<property name="url" value="${url}"></property>
		<property name="username" value="${username}"></property>
		<property name="password" value="${password}"></property>
	</bean>

	<!-- 管理会话工厂,配置别名 -->
	<bean id="SqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
		<!-- 注入连接池对象 -->
		<property name="dataSource" ref="dataSource"></property>
		<!-- 配置别名 -->
		<property name="typeAliasesPackage" value="cn.itsource.domain"></property>


		<!-- 加载映射文件 -->
		<property name="mapperLocations" value="classpath:cn/itsource/mapper/*Mapper.xml"></property>
	</bean>
	// /*Mapper.xml 所有后缀为Mapper.xml都能匹配得上

<!-- 管理Mapper代理对象  mapper接口扫描配置-->
	<bean id="mapper" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<!-- base-package 属性指定要扫描的基础包。我们可以在配置中使用匹配符和占位符 扫描包下的所有接口-->
		<property name="basePackage" value="cn.itsource.mapper"></property>
	</bean>
	<!-- 扫描业务层指定的包,使用注解时可以找到 -->
	<context:component-scan base-package="cn.itsource.service"></context:component-scan>

springmvc xml文件代码部分:

	<!-- 静态资源放行 避免和TomCat中的默认静态资源映射冲突而导致静态资源无法访问的问题-->
	<mvc:default-servlet-handler/>
	
	<!-- 开启spring对springmvc的支持 使用注解-->
	<mvc:annotation-driven></mvc:annotation-driven>

	<!-- 扫描控制层的包 -->
	<context:component-scan base-package="cn.itsource.controller"></context:component-scan>


<!-- 视图解析器: 这样在做转发或者重定向时就可以简写成文件名 -->
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/" />
		<property name="suffix" value=".jsp" />
	</bean>

web.xml文件代码部分:

	<!-- 配置监听器:tomcat一启动就会为当前web项目创建一个唯一的上下文对象 监听器:只要上下文对象一创建,监听器就可以监听到了 监听到之后就自动实例化,初始化 
		在初始化的时候就会自动的去解析上下文对象的初始化参数:context-param 最终目的:加载Spring的配置文件:applicationContext.xml -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
	</context-param>


<!-- 配置前端控制器 :所有请求从这里分发-->
	<servlet>
		<servlet-name>DispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 初始化参数,在加载的时候找到springmvc配置文件 ,请求在 springmvc中分发 -->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:applicationContext-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>DispatcherServlet</servlet-name>
		<!-- 此处于TomCat有冲突,需要在springmvc.xml中配置静态资源放行 -->
		<url-pattern>/</url-pattern>
	</servlet-mapping>


<!-- 设置过滤器,设置特定的字符集过滤 -->

	<filter>
		<filter-name>CharacterEncodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<!-- 初始化参数 解决psot乱码的问题-->
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值