SSM框架整合及搭建

SSM框架整合及搭建
1、SpringMVC
处理视图层前端请求及控制层接收请求后响应给客户端
2、Mybatis
数据访问层

3、Spring
IOC/DI
控制反转、依赖注入
处理层与层之间的依赖关系,进行解耦
AOP
面向切面编程
处理日志、异常、事务

1、SpringMVC与Spring不需要整合
2、Mybatis与Spring整合数据访问
1、dataSource 数据源
2、SqlSessionFactory 会话工厂
3、SqlSession 会话

框架搭建
1、导入jar包
SpringMVC的jar包
Mybatis的jar包
Spring的jar包
Mybatis与Spring集成的jar包

2、创建项目的包、创建实体类

3、添加SpringMVC环境
1、添加SpringMVC核心配置文件 dispatcher-servlet.xml
1) 添加注解的驱动支持,注解所在包的扫描

1
<!-- 设置注解支持,扫描带有注解类的包 -->
2
			<context:component-scan base-package="controller,service.impl" />
3
			<mvc:annotation-driven />
2) 添加视图解析器
1
<!-- 视图解析器 -->
2
		   <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
3
				<!-- 属性名name,属性值value ,给class类的对象中的属性赋值 -->
4
				<property name="prefix" value="/WEB-INF/jsp/"></property>
5
				<property name="suffix" value=".jsp"></property>
6
		   </bean>
3) 静态资源文件处理
1
<!-- 处理静态资源文件 -->
2
			<mvc:resources location="/resource/" mapping="/resource/**" />

2、配置web.xml
1) 配置SpringMVC核心控制器及加载核心配置文件

1
<!-- 配置SpringMVC核心控制器 -->
2
			<servlet>
3
				<servlet-name>dispatcherServlet</servlet-name>
4
				<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
5
				<init-param>
6
					<param-name>contextConfigLocation</param-name>
7
					<param-value>classpath:dispatcher-servlet.xml</param-value>
8
				</init-param>
9
			</servlet>
10
			<servlet-mapping>
11
				<servlet-name>dispatcherServlet</servlet-name>
12
				<url-pattern>/</url-pattern>
13
			</servlet-mapping>

3、创建Controller控制器
1) 添加注解映射请求URL

4、创建JSP页面

4、Spring集成Mybatis
1) 添加Mybatis环境
添加配置文件mybatis-config.xml,配置文件中不再配置environments,其余的配置保留

2) 添加Spring配置文件applicationContext.xml
将原有使用MyBatis进行数据访问的对象全部配置到Spring文件中

1) 数据源 - 第三方提供

1
<!-- dataSource 数据源-第三方 -->
2
			<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" >
3
				<property name="driverClassName" value="com.mysql.jdbc.Driver" />
4
				<property name="url" value="jdbc:mysql://localhost:3306/house?useUnicode=true&characterEncoding=utf-8" />
5
				<property name="username" value="root" />
6
				<property name="password" value="123456"/>
7
			</bean>

2) 会话工厂

1
<!-- sessionFactory 会话工厂集成 -->
2
			<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" >
3
				<!-- 注入数据源dataSource -->
4
				<property name="dataSource" ref="dataSource" />
5
				<!-- 注入Mybatis配置文件的路径 -->
6
				<property name="configLocation" value="classpath:mybatis-config.xml" />
7
			</bean>

3) 会话

1
<!-- SqlSessionTemplate - Spring提供的会话模板 -->
2
		<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate" >
3
			<!-- 只提供了 构造方法注入 -->
4
			<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" />
5
		</bean>

5、衔接控制层与service层
1) 在控制层和service层的实现类 加上注解
1) controller层类的注解

1
@Controller
2
			@RequestMapping(value="/user")
3
			public class LoginController

2) service层类的注解

1
@Service("userService")
2
			public class UserServiceImpl implements UserService

3) 在controller层类中定义service接口作为其属性并通过注解注入该接口的实现类的实例

1
@Resource
2
			@Qualifier("userService")
3
			private UserService userService;

2) 配置注解支持及扫描注解所在的包
1) dispatcher-servlet.xml配置文件中添加如下配置

1
<!-- 设置注解支持,扫描带有注解类的包 -->
2
			<context:component-scan base-package="controller,service.impl" />
3
			<mvc:annotation-driven />

6、衔接service层与dao层
service需要的是使用Spring容器中提供的sqlSessionTemplate会话模板, 所以service注入的是该会话模板对象
由于sqlSessionTemplate已经在Spring的配置文件applicationContext.xml中定义了bean, 所以可以直接注入

1 在service类中定义属性sqlSessionTemplate

1
private SqlSessionTemplate sqlSessionTemplate;

2) 使用注解实现注入

@Resource
@Qualifier("sqlSessionTemplate")
private SqlSessionTemplate sqlSessionTemplate;

7、web.xml中加载Spring配置文件applicationContext.xml
由于sqlSessionTemplate在applicationContext.xml中定义的bean,当tomcat容器启动时就要完成controller注入service,
service注入sqlSessionTemplate, 所以需要在web.xml中配置监听器加载applicationContext.xml配置文件, 这样tomcat容器在
启动时会加载 dispatcher-servlet.xml 和 applicationCOntext.xml配置文件, 那么在客户端发起请求之前,这些注入全部都会
提前完成。

<!-- Spring监听器 -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值