springMVC+spring+MyBatis实战之搭建平台

SSM框架整合与用户添加实战
本文介绍了如何使用SpringMVC+Spring+MyBatis(SSM)框架搭建平台并实现用户添加功能。详细讲解了各个组件的版本选择、web.xml配置、beans.xml配置、SpringMVC的Servlet配置、MyBatis的SqlSessionFactoryBean和MapperFactoryBean配置,以及各层(控制层、服务层、持久层)的实现。通过一个完整的添加用户示例,展示了SSM框架的实战应用。

springMVC+spring+MyBatis有着诸多好处(度娘为你一一解答)

话不多说直插主题(有人问“主题”是谁,这个自己去补脑)


版本:

spring  3.2.9

MyBatis  3.2.8


目前依赖这些jar,以后有新功能再引进新的jar


导入jar包后 需要配置web.xml

首先配置spring容器

	<!-- Spring 容器加载 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

在实际项目中spring的配置文件applicationcontext.xml是通过spring提供的加载机制,自动加载的容器中去,在web项目中,配置文件加载到web容器中进行解析,目前,spring提供了两种加载器,以供web容器的加载:一种是ContextLoaderListener,另一种是ContextLoaderServlet。这两种在功能上完全相同,只是一种是基于Servlet2.3版本中新引入的Listener接口实现,而另一种是基于Servlet接口实现。

以下是这两种加载器在web.xml中的时机配置应用:

<!-- 第一种:-->
<listener>
 <listener-class>org.springframework.context.ContextLoaderListener</listener-class>
</listener>

<!-- 第二种:-->
<servlet>
 <servlet-name>context</servlet-name>
 <servlet-class>org.springframework.context.ContextLoaderServlet</servlet-class>
 <load-on-startup>1</load-on-startup>
</servlet>


在实际开发项目中则需要配置文件路径

        <!-- 加载配置文件路径 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:beans.xml</param-value>
	</context-param>
由上配置 我的配置文件名称为beans.xml放在根目录下

以上就是web.xml对spring的配置内容,接下来看spring配置文件即beans.xml文件的中的配置信息

在src下创建beans.xml文件

头文件可以在网上或者spring文档中找到这里我就不贴出来了

因为都交付给spring容器来管理了,所以我们的数据源的配置也可以在beans.xml配置


	<!-- 配置数据源 -->
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://localhost:3306/test" />
		<property name="username" value="root" />
		<property name="password" value="" />
	</bean>
数据源的参数可以配置properties文件来配置,这样更大的减小耦合性,比如以后修改数据库或者部署到新的服务器就不需要修改beans.xml文件,则只修改properties文件就可以了,properties配置这里先不说。


以上spring的配置可以确保平台的运行。


然后在web.xml中配置springMVC

首先回到web.xml文件配置springMVC控制器和拦截器,这块可以放在配置spring下面

其实从本质上来说springMVC也是servlet 熟悉servlet的同学应该深有感触。直接插吧不废话了

	<!-- SpringMVC的前端控制器 -->
	<servlet>
		<servlet-name>MyDispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 加载配置文件路径 -->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:SpringMVC-servlet.xml</param-value>
		</init-param>
		<!-- 何时启动 大于0的值表示容器启动时初始化此servlet,正值越小优先级越高 -->
		<load-on-startup>1</load-on-startup>
	</servlet>
	<!-- Spring MVC配置文件结束 -->

	<!-- SpringMVC拦截设置 -->
	<servlet-mapping>
		<servlet-name>MyDispatcherServlet</servlet-name>
		<!-- 由SpringMVC拦截所有请求 -->
		<url-pattern>/</url-pattern>
	</servlet-mapping>
	<!-- SpringMVC拦截设置结束 -->

上面的配置我没有写后缀在正式的项目中大多数都有后缀比如.do或者.action 等

如果需要后缀则需要修改springMVC拦截设置

<!-- 拦截.do  -->

<url-patern>*.do</url-patern>

<!-- 拦截 .action -->

<url-patern>*.action</url-patern>


springMVC的配置文件我也放到src下所以上面的加载配置文件应该按照项目中的实际路径去写

springMVC在web.xml中配置完成接下来配置SpringMVC-servlet.xml

如果你没有给servlet 制定配置文件的位置,那么名称为【 servlet-name】-servlet.xml 文件位置应该是WEB-INF/ 下 。

为了方便管理所以制定配置文件位置。如果都没有则会报错。

配置SpringMVC-servlet.xml文件



配置文件中需要上下文和注解驱动所以勾选mvc 和 context

	<!-- springmvc 注解驱动 -->
	<mvc:annotation-driven/> 
	
	<!-- 自动扫描注解的bean -->
	<context:component-scan base-package="com.yong" />
	
	<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
		p:prefix="/WEB-INF/views/" p:suffix=".jsp" />

添加注解驱动、制定自动扫描的目录以及以下目录

最重要的一点配置视图解析器 并且设置前置目录和后缀名。

以上对springMVC配置完成。


配置MyBatis

由于MyBatis交给spring管理所以在beans.xml中配置SqlSessionFactoryBean 和 MapperFactoryBean

至于SqlSessionFactoryBean和MapperFactoryBean是做什么的可以查看一下连接

点击打开链接

具体配置如下

	<!-- 配置SqlSessionFactoryBean -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<!-- 加载MyBatis配置文件路径 -->
		<property name="configLocation" value="classpath:MyBatisConf.xml" />
	</bean>

	<!-- 配置MapperFactoryBean -->
	<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">  
       <property name="mapperInterface" value="com.yong.mapper.UserMapper" />  
       <property name="sqlSessionFactory" ref="sqlSessionFactory" />  
    </bean> 

由于交给spring管理

所以MyBatisConf.xml中则仅仅配置<mappers>即可

<configuration>
   <!-- 配置Mapper文件的路径 -->
   <mappers>
       <package name="com.yong.mapper"/>
   </mappers>
</configuration>


以上的以上就是配置完所有的内容(暂时的)

啥也不说了执行一下子

先说一下流程 引用一张图,(图片是从腾讯课堂老师讲课截的图,老师名字忘了)


添加一个用户测试一下子

首先配置一下数据库


看一下文件目录



1、首先创建实体

User 和数据字段保存一致


注解@Component:基本注解,标识一个spring管理的类

首先用户执行添加方法


@Controller 控制层

数据提价给业务逻辑


@service 业务逻辑层


业务处理完后交给持久层保存数据库


先写一个接口然后再写实现这块也可以只用一个实现类来完成由于使用了mapper 。

@Repository 持久层


最后看看UserMapper是怎么保存数据的

@Autowired自动执行

最后看看和mapper同名的xml文件如何写数据库



代码都写完了装逼时刻开始

添加页面添加方法


数据库添加成功


装逼成功!


以上完整代码:下载完整代码


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值