SSM框架详细阐述Word下载.docx

上传人:b****6 文档编号:19397170 上传时间:2023-01-05 格式:DOCX 页数:14 大小:21.27KB
下载 相关 举报
SSM框架详细阐述Word下载.docx_第1页
第1页 / 共14页
SSM框架详细阐述Word下载.docx_第2页
第2页 / 共14页
SSM框架详细阐述Word下载.docx_第3页
第3页 / 共14页
SSM框架详细阐述Word下载.docx_第4页
第4页 / 共14页
SSM框架详细阐述Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

SSM框架详细阐述Word下载.docx

《SSM框架详细阐述Word下载.docx》由会员分享,可在线阅读,更多相关《SSM框架详细阐述Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

SSM框架详细阐述Word下载.docx

每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。

SSM框架整合说明

整合Dao层

MyBatis配置文件 

sqlMapConfig.xml

▪配置别名:

用于批量扫描Pojo包

▪不需要配置mappers标签,但一定要保证mapper.java文件与mapper.xml文件同名。

<

?

xmlversion="

1.0"

encoding="

UTF-8"

?

>

!

DOCTYPEconfigurationPUBLIC"

-//mybatis.org//DTDConfig3.0//EN"

"

"

<

configuration>

--配置别名-->

typeAliases>

--批量扫描别名-->

packagename="

cn.itcast.ssm.po"

/>

/typeAliases>

/configuration>

∙1

∙2

∙3

∙4

∙5

∙6

∙7

∙8

∙9

Spring配置文件 

applicationContext-dao.xml

▪主要配置内容 

▪数据源

▪SqlSessionFactory

▪mapper扫描器 

▪这里使用sqlSessionFactoryBeanName属性是因为如果配置的是sqlSessionFactory属性,将不会先加载数据库配置文件及数据源配置

beansxmlns="

xmlns:

xsi="

mvc="

context="

aop="

tx="

xsi:

schemaLocation="

--加载db.properties文件中的内容,db.properties文件中key命名要有一定的特殊规则-->

context:

property-placeholderlocation="

classpath:

db.properties"

/>

--配置数据源,dbcp-->

beanid="

dataSource"

class="

mons.dbcp.BasicDataSource"

destroy-method="

close"

propertyname="

driverClassName"

value="

${jdbc.driver}"

url"

${jdbc.url}"

username"

${jdbc.username}"

password"

${jdbc.password}"

maxActive"

30"

maxIdle"

5"

/bean>

--sqlSessionFactory-->

sqlSessionFactory"

org.mybatis.spring.SqlSessionFactoryBean"

--数据库连接池-->

ref="

--加载mybatis的全局配置文件-->

configLocation"

mybatis/sqlMapConfig.xml"

--mapper扫描器-->

beanclass="

org.mybatis.spring.mapper.MapperScannerConfigurer"

--扫描包路径,如果需要扫描多个包,中间使用半角逗号隔开-->

basePackage"

cn.itcast.ssm.mapper"

/property>

sqlSessionFactoryBeanName"

/beans>

∙10

∙11

∙12

∙13

∙14

∙15

∙16

∙17

∙18

∙19

∙20

∙21

∙22

∙23

∙24

∙25

∙26

∙27

∙28

∙29

∙30

∙31

∙32

∙33

∙34

∙35

∙36

∙37

∙38

∙39

∙40

∙41

∙42

∙43

∙44

创建所需的Mapper.java

▪一般不动原始生成的po类,而是将原始类进行集成vo类

publicinterfaceItemsMappperCustom{

publicList<

ItemsCustom>

findItemsList(ItemsQueryVoitemsQueryVo)throwsException;

}

创建POJO类对应的mapper.xml

mappernamespace="

test.ssm.mapper.ItemsMappperCustom"

selectid="

findItemsList"

parameterTyep="

test.ssm.po.ItemsQueryVo"

resultType="

test.ssm.po.ItemsCustom"

selectitems.*fromitems

whereitems.namelike'

%${itemsCustom.name}%'

整合service层

▪目标:

让spring管理service接口。

定义service接口

▪一般在ssm.service包下定义接口eg:

ItemsService

publicinterfaeItemsService{

定义ServiceImpl实现类

▪因为在applicationContext-dao.xml中已经使用了mapper扫描器,这里可以直接通过注解的方式将itemsMapperCustom自动注入。

publicclassItemsServiceImplimplementsItemsService{

@Autowired

privateItemsMapperCustomitemsMapperCustom;

@Override

findItemsList(ItemsQueryVoitemsQueryVo)throwsException{

returnitemsMapperCustom.findItemsList(itemsQueryVo);

}

在spring容器配置service

▪applicationContext-service.xml在此文件中配置service。

itemsService"

test.ssm.service.impl.ItemsSrviceImpl"

事物控制(不够熟悉)

▪在applicationContext-transaction.xml中使用spring声明式事务控制方法

▪对mybatis操作数据库事物控制,spring使用jdbc的事物控制类是DataSourceTransactionManager

▪因为操作了数据库需要事物控制,所以需要配置数据源

▪定义了切面

--事务管理器对mybatis操作数据库事务控制,spring使用jdbc的事务控制类-->

transactionManager"

org.springframework.jdbc.datasource.DataSourceTransactionManager"

--数据源在dataSource在applicationContext-dao.xml中已经配置-->

--通知-->

tx:

adviceid="

txAdvice"

transaction-manager="

attributes>

--传播行为-->

methodname="

save*"

propagation="

REQUIRED"

delete*"

insert*"

update*"

find*"

SUPPORTS"

read-only="

true"

get*"

select*"

/tx:

advice>

--aop-->

aop:

config>

advisoradvice-ref="

pointcut="

execution(*cn.itcast.ssm.service.impl.*.*(..))"

/aop:

整合springmvc

▪创建springmvc.xml文件,配置处理器映射器、适配器、视图解析器

component-scanbase-package="

cn.itcast.ssm.controller"

/context:

component-scan>

--使用mvc:

annotation-driven加载注解映射器和注解适配器配置-->

mvc:

annotation-driven>

/mvc:

--视图解析器解析jsp解析,默认使用jstl标签,classpath下的得有jstl的包

-->

org.springframework.web.servlet.view.InternalResourceViewResolver"

--配置jsp路径的前缀-->

prefix"

/WEB-INF/jsp/"

--配置jsp路径的后缀-->

suffix"

.jsp"

配置前端控制器

▪在web.xml中加入如下内容

▪contextConfigLocation配置springmvc加载的配置文件(配置处理器映射器、适配器等等) 

▪如果不配置contextConfigLocation,默认加载的是/WEB-INF/servlet名称-serlvet.xml(springmvc-servlet.xml)

▪在url-pattern中 

▪填入*.action,表示访问以.action结尾由DispatcherServlet进行解析

▪填入/,所有访问的地址都由DispatcherServlet进行解析,对于静态文件的解析需要配置不让DispatcherServlet进行解析,使用此种方式可以实现RESTful风格的url

--springmvc前端控制器-->

servlet>

servlet-name>

springmvc<

/servlet-name>

servlet-class>

org.springframework.web.servlet.DispatcherServlet<

/servlet-class>

init-param>

param-name>

contextConfigLocation<

/param-name>

param-value>

spring/springmvc.xml<

/param-value>

/init-param>

/servlet>

servlet-mapping>

url-pattern>

*.action<

/url-pattern>

/servlet-mapping>

编写Controller(Handler)

@Congtroller

@RequestMapping("

/items"

)//窄化路径

publicclassItemsController{

privateItemsServiceitemsService;

//商品查询

@RequestMapping("

/queryItems"

)//实际网址后面跟了.action

publicModelAndViewqueryItems(HttpServletRequestrequest)throwsException{

List<

itemsList=itemsService.findItemsList(null);

//返回ModelAndView

ModelAndViewmodelAndView=newModelAndView();

//相当于request的setAttribute,在jsp页面中通过itemsList取数据

modelAndView.addObject("

itemsList"

itemsList);

returnmodelAndView;

编写JSP页面

c:

forEachitems="

${itemsList}"

var="

item"

tr>

td>

${item.name}<

/td>

${item.price}<

fmt:

formatDatevalue="

${item.createtime}"

pattern="

yyyy-MM-ddHH:

mm:

ss"

${item.detail}<

ahref="

${pageContext.request.contextPath}/items/editItems.action?

id=${item.id}"

修改<

/a>

/tr>

/c:

forEach>

加载spring容器

▪在web.xml中,添加spring容器监听器,加载spring容器

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1