Spring开发Service层
Spring开发Service层
service层的作用:
- 业务逻辑操作(某些操作依赖于Dao层),将操作后的结果在返回出去给View层根据结果展现视图效果。
在开发完dao层(Spring+MyBatis)后,对Service层进行开发
基本步骤:
- 使用xml文件配置:spring/spring-service.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd"><!--扫描service包下所有使用注解的类型--><context:component-scan base-package="cn.xiaofang.service"></context:component-scan><!--配置事务管理器--><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><!--配置基于注解的声明式事务 默认使用注解来管理事务行为--><tx:annotation-driven transaction-manager="transactionManager" />
</beans>
- 建立用来封装对象的类,实现数据在各个层的传递
- 建立异常类来处理各种异常(如超时异常、重复秒杀异常)
- 建立类来实现业务代码(接口、实现类)
业务层设计技巧
- 业务接口设计和封装
- Spring IOC配置技巧(第三方实例由xml配置(如数据库链接池相关),自己建立的实例由注解配置(dao实例))
- Spring声明事务使用和理解(事务由注解实现:事务长度尽量短、只读操作不需要事务)
细节:
- 使用枚举表示常量数据字段
- 创建异常包(来检测事务是否执行顺利),要使用运行期异常,Spring只有运行期异常才回滚事务
- 在并发量高的系统中事务控制
1.保证事务方法的执行时间尽可能短,不要穿插其他网络操作RPC/HTTP请求或者剥离到事务方法外部
2.不是所有的方法都需要事务,如只有一条修改操作,只读操作不要事务控制
3.使用@Transactional注解事务 - logger来进行测试日志记录
开发后想法:
- 为什么用IOC:
1.对象创建统一托管
2.规范的生命周期管理
3.灵活的依赖注入
4.一致的获取对象(单例)
Spring开发Service层相关推荐
- Spring中service层与dao(mapper)层
一.dao(mapper)层 DAO层叫数据访问层,全称为data access object,持久层直接和数据库打交道,具体到对于某个表的增删改查,封装了增删改查基本操作. 二.Service层 S ...
- websocket连接mysql_websocket 使用 spring 的service层 ,进而调用里面的 dao层 来操作数据库 ,包括redis、mysql等通用...
1.前言 描述一下今天用websocket踩得坑 --->空指针异常! 我想在websocket里面使用service 层的接口,从中获取数据库的一些信息 , 使用 @Autowired 注 ...
- SpringBoot在自定义类中调用service层等Spring其他层
解决方案: 1.上代码@Component public class ServerHandler extends IoHandlerAdapter {@Autowiredprotected Healt ...
- Spring整合Mybatis之DAO层、Service层开发
3. Spring整合Mybatis编程DAO层开发 1. 项目引入相关依赖spring mybatis mysql mybatis-spring druid2. 编写spring.xml整合:spr ...
- Spring Boot开发基于三层架构设计:Dao层、Service层、Controller层
三层架构设计:基于Spring Boot开发要使用三层架构: 数据访问层(Dao).业务逻辑层(Service).控制层(Control-ler) (1)数据访问层(Dao):Dao层是最底层的设计, ...
- [java基础] --- java开发,service层是不是一定要写接口
估计很多java开发的同学都遇到过,service层要写一个接口,然后再写接口的实现类,但这个接口从项目开始到项目倒闭,都不会有第二个实现,那为什么不直接写个service类呢?如果你还没想过这个问题 ...
- SpringBoot实现Java高并发秒杀系统之Service层开发(二)
继上一篇文章:SpringBoot实现Java高并发秒杀系统之DAO层开发 我们创建了SpringBoot项目并熟悉了秒杀系统的表设计,下面我们将讲解一下秒杀系统的核心部分:Service业务层的开发 ...
- Spring、Mybatis整合Service优化思路,DAO层、Service层最终编码以及log4j日志的使用
5. Spring.Mybatis整合Service层事务控制优化思路分析 # spring中处理事务的两种方式1. 编程式事务处理定义:通过在业务层中注入事务管理器对象,然后通过编码的方式进行事务控 ...
- Spring中DAO层、Service层、Controller层的定义
1.dao层 dao层主要做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,dao层的设计首先是设计dao层的接口,然后在Spring的配置文件中定义此接口的实现类,就可以在模块中调用此接 ...
最新文章
- AI+DevOps正当时
- 表格转化为Latex代码
- C库宏-offsetof()
- 简单地利用canvas载入视频
- 常用正则表达式整理【总结】
- SELinux入门简介
- hadoop window 搭建
- echart 饼图图例legend支持滑动
- Qt富文本编辑器QTextDocument
- hibernate入门学习(更新中)
- 有源rc电压放大器实验报告_为什么将放大器装在示波器探头前端?
- 寒假汇编语言作业(11)
- 3D点云分割算法汇总
- 富文本Ueditor
- springmvc源码阅读之启动加载(2)-----------初始化参数
- 网站访问量统计 | hexo
- 已解决【Watch检查软件更新失败,因为你尚未接入互联网。】
- 以太网通信连接不上自检步骤
- 冒泡排序法(C语言实现)
- 红米note7找android,红米Note 7
热门文章
- notepad++ 正则表达式 替换数字
- ESP32与PS4手柄的通讯
- 性能测试--需求指标计算
- qlist的遍历_QT 容器及遍历
- python蓝桥杯试题 基础练习 十六进制转十进制 实现进制转换
- measure against用法
- 《惢客创业日记》2019.07.24(周三)从产品角度理解“为腹不为目”
- 写python脚本管理_如何用python脚本控制TPLINK路由器
- VMWare win10 安装程序无法创建新的系统分区也无法定位现有分区的解决方法
- 任何一句话都可以品味一辈子