整合SSM框架

好久不见. 提交于 2020-01-13 17:35:02

新手小白整合SSM框架

SSM中各层作用及关系

1.持久层:DAO层(mapper层)(属于mybatis模块)

  • DAO层:主要负责与数据库进行交互设计,用来处理数据的持久化工作。
  • DAO层的设计首先是设计DAO的接口,也就是项目中你看到的Dao包。
  • 然后在Spring的xml配置文件中定义此接口的实现类,就可在其他模块中调用此接口来进行数据业务的处理,而不用关心接口的具体实现类是哪个类,DAO层的jdbc.properties数据源配置,以及有 关数据库连接的参数都在Spring的配置文件中进行配置。
    2.业务层:Service层(属于spring模块)
  • Service层:主要负责业务模块的逻辑应用设计。也就是项目中你看到的Service包。
  • Service层的设计首先是设计接口,再设计其实现的类。也就是项目中你看到的service+impl包。
  • 接着再在Spring的xml配置文件中配置其实现的关联。这样我们就可以在应用中调用Service接口来进行业务处理。
  • 最后通过调用DAO层已定义的接口,去实现Service具体的实现类。
    3.控制层/表现层:Controller层(Handler层)
  • Controller层:主要负责具体的业务模块流程控制,也就是你看到的controller包。
    4.View层 (属于springMVC模块)
  • 负责前台jsp页面的展示,此层需要与Controller层结合起来开发。
  • Jsp发送请求,controller接收请求,处理,返回,jsp回显数据。

SSM项目包

项目的包名应该是公司的域名倒置+包名
1.entity 实体的包
2.dao 用于出来数据库交互的接口累
3.controller 这是用于写控制器的包
4.mapper 这是用与实现dao里面的方法(mapper 里面放的是xml文件)
5.service 这是一个服务的包
6.serviceImpl 这是一个处理业务逻辑的包
7.util 这是放工具类的包

现在开始整合

  1. 先是Spring跟mybatis整合
    整合需要多一个spring-mybatis.jar 的包
    如下是整合的代码(我是引入的外部文件)
<!--把jdbc.properties引入小毛驴中 -->
	<context:property-placeholder location="classpath:jdbc.properties" />
	<!-- 创建连接 吧jdbc.properties的值引入 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<!--这是连接名 com.mysql.jdbc.Driver -->
		<property value="${jdbc.driverClassName}" name="driverClassName" />
		<!--这是连接路径  jdbc:mysql://localhost:3306/数据库名 +设置编码 -->
		<property value="${jdbc.url}" name="url" />
		<!-- 数据库用户名-->
		<property value="${jdbc.username}" name="username" />
		<!-- 数据库用户密码-->
		<property value="${jdbc.password}" name="password" />
	</bean>

配置好之后开始让mybatis交出控制权

<!-- 在spring中创建SessionFactory对象 -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	<!-- 把数据源引入 -->
	<property name="dataSource" ref="dataSource"></property>
	<!-- 配置它的映射xml的地址 -->
	<property name="mapperLocations" class="classpath:com/etc/mapper/*.xml"></property>
	</bean>
	<!--获取控制权 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
	<!-- com.etc.dao 就是dao接口的包 -->
	<property name="basePackage" value="com.etc.dao"></property>
	</bean>
	<!-- 这是一个扫描器 -->
	<context:component-scan base-package="com.etc"/>

这样spring-mybatis就整合差不多了

springMVC配置

springmvc就是处理前端传过来的请求 并给与响应

  1. 代码如下
 	<!--开启注解支持 -->
 	<mvc:annotation-driven/>
 	<!-- 这是放行静态资源 静态资源如下1.html 2.css 等等  -->
 	<mvc:default-servlet-handler/>
 	<!-- 配置一个视图解析器 -->
 	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
 	<!-- 这个是在控制器返回页面时候会自动加前缀  比如view/xxx页面 -->
 	<property name="prefix" value="/WEB-INF/view/"></property>
 	<!-- 这个是在控制器返回页面时候会自动加后缀  比如view/xxx.jsp页面 -->
 	<property name="suffix" value=".jsp"></property>
 	</bean>
 	<!-- 配置控制器扫描 -->
	 <context:component-scan base-package="com.etc.controller"/>

web.xml的配置

代码如下

<?xml version="1.0" encoding="UTF-8"?>

<web-app id="MS_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>index.html</welcome-file>
	</welcome-file-list>
	<!-- 配置一个前端控制器 -->
   <servlet>
   <servlet-name>springmvc</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <!-- 这里加载的是springmvc.xml 如果不写默认是spring-Serlver -->
   <init-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath:springmvc.xml</param-value>
   </init-param>
   <!-- 标记容器是否在启动的时候就加载这个servlet。
当值为0或者大于0时,表示容器在应用启动时就加载这个servlet; -->
   <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
   <servlet-name>springmvc</servlet-name>
   <!-- /指的是拦截所以请求 -->
   <url-pattern>/</url-pattern>
   </servlet-mapping>
   <!-- 加载 applicationContext.xml 也就是刚刚整合spring和mybatis的xml-->
   <context-param>
   <param-name>contextConfigLacation</param-name>
   <param-value>classpath:applicationContext.xml</param-value>
   </context-param>
   <!-- 这里要注意一下 监听器一定要写 非常重要 -->
   <listener>
   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>
   <!-- 过滤器主要是设置编码格式 -->
   <filter>
   <filter-name>encoding</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>
   <init-param>
   <param-name>ForceEncoding</param-name>
   <param-value>True</param-value>
   </init-param>
   </filter>
</web-app>

以上就是ssm简单整合了,写得不是很好,仅供参考

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!