当前位置: 首页 > news >正文

想开个网站怎样开公司广告公司简介介绍

想开个网站怎样开公司,广告公司简介介绍,凡客诚品官方网站查询,室内设计培训教程目录 一、IOCDI入门 二、三层架构 数据库访问层 业务逻辑层 控制层 一、IOCDI入门 在软件开发中#xff0c;IOC#xff08;Inversion of Control#xff09;和DI#xff08;Dependency Injection#xff09;是密切相关的概念。 IOC#xff08;控制反转DI入门 二、三层架构  数据库访问层 业务逻辑层 控制层 一、IOCDI入门 在软件开发中IOCInversion of Control和DIDependency Injection是密切相关的概念。 IOC控制反转 IOC是一种设计原则通过它可以实现程序的松耦合。传统的控制流程是由程序员直接编写代码控制对象的创建和调用关系而控制反转则是将这种控制权交给一个容器例如IOC容器来管理。换句话说控制反转就是控制权的转移由程序员转移到容器中容器负责创建对象并管理对象之间的依赖关系。 DI依赖注入 DI是实现IOC的一种具体方式。它是指在对象创建的过程中通过将对象所依赖的其他对象即依赖关系注入到对象中从而实现对象之间的解耦。这样对象不再负责自己的依赖关系而是由外部容器在创建对象时提供所需的依赖。 依赖注入可以通过构造函数注入、属性注入或方法注入等方式来实现。其中最常见的是构造函数注入在这种方式下对象在创建时必须提供其所需的依赖否则无法正确实例化对象。 综合起来说IOC是一种设计原则DI是实现IOC的具体技术手段。通过DI我们可以在应用程序中实现控制反转让对象之间的依赖关系由容器来管理从而提高代码的可维护性、可测试性和灵活性。 要把某个对象交给IOC容器管理需要在对应的类上加上如下注解之一 注解说明位置ControllerComponent的衍生注解标注在控制器类上ServiceComponent的衍生注解标注在业务类上RepositoryComponent的衍生注解标注在数据访问类上由于与mybatis整合用的少Component声明bean的基础注解不属于以上三类时用此注解 Autowired注解默认是按照类型进行自动装配的去IOC容器中找某个类型的对象然后完成注入操作 入门程序举例在EmpController运行的时候就要到IOC容器当中去查找EmpService这个类型的对象而我们的IOC容器中刚好有一个EmpService这个类型的对象所以就找到了这个类型的对象完成注入操作。 二、三层架构  那其实我们上述案例的处理逻辑呢从组成上看可以分为三个部分 数据访问负责业务数据的维护操作包括增、删、改、查等操作。 逻辑处理负责业务逻辑处理的代码。 请求处理、响应数据负责接收页面的请求给页面响应数据。 按照上述的三个组成部分在我们项目开发中呢可以将代码分为三层 Controller控制层。接收前端发送的请求对请求进行处理并响应数据。 Service业务逻辑层。处理具体的业务逻辑。 Dao数据访问层(Data Access Object)也称为持久层。负责数据访问操作包括数据的增、删、改、查。 基于三层架构的程序执行流程   前端发起的请求由Controller层接收Controller响应数据给前端 Controller层调用Service层来进行逻辑处理Service层处理完后把处理结果返回给Controller层 Serivce层调用Dao层逻辑处理过程中需要用到的一些数据要从Dao层获取 Dao层操作文件中的数据Dao拿到的数据会返回给Service层 代码实现 数据库访问层 public interface EmpDao {public ListEmp listEmp();} Repository // 将当前对象交给IOC容器管理,成为IOC容器的bean public class EmpDaoA implements EmpDao {Overridepublic ListEmp listEmp() {// 1、加载并解析xml文件 // String file this.getClass().getClassLoader().getResource(emp.xml).getFile();String file XXXXXXXXXXXXx;System.out.println(file); // 输出路径ListEmp empList XmlParserUtils.parse(file, Emp.class);return empList;}}业务逻辑层 // 业务逻辑层 public interface EmpService {public ListEmp listEmp();}Primary // 使用Primary注解当存在多个相同类型的Bean注入时加上Primary注解来确定默认的实现。 Service public class EmpServiceA implements EmpService {// 创建数据库访问层对象Autowiredprivate EmpDao empDao;Overridepublic ListEmp listEmp() {ListEmp empList empDao.listEmp();// 2、对数据转化处理empList.stream().forEach(emp - {// 性别String gender emp.getGender();if (1.equals(gender)){emp.setGender(男);}else{emp.setGender(女);}String job emp.getJob();if(1.equals(job)){emp.setJob(讲师);}else if(2.equals(job)){emp.setJob(班主任);}else{emp.setJob(就业指导);}});return empList;}}控制层 RestController public class EmpController {// 创建业务对象// 运行时,从IOC容器中获取该类型对象,赋值给该变量Autowiredprivate EmpService empService;RequestMapping(listEmp)public Result list(){ListEmp empList empService.listEmp();// 3、响应数据return Result.success(empList);}}三层架构的优点 复用性强 便于维护 利用扩展 解决了耦合问题 首先需要了解软件开发涉及到的两个概念内聚和耦合。 内聚软件中各个功能模块内部的功能联系。 耦合衡量软件中各个层/模块之间的依赖、关联的程度。 软件设计原则高内聚低耦合。 高内聚指的是一个模块中各个元素之间的联系的紧密程度如果各个元素(语句、程序段)之间的联系程度越高则内聚性越高即 高内聚。 低耦合指的是软件中各个层、模块之间的依赖关联程序越低越好。
http://www.w-s-a.com/news/868058/

相关文章:

  • asp网站伪静态文件下载seo外包公司哪家好
  • 淘宝客网站根目录怎么建个废品网站
  • 网站备案更改需要多久百度免费网站空间
  • 外发加工是否有专门的网站wordpress主页 摘要
  • 企业网站优化系统浙江建设信息港证书查询
  • 很多年前的51网站如何做跨境电商需要哪些条件
  • 网站建设中 请稍后访问互联网营销设计
  • 软文网站名称用户浏览网站的方式
  • 大兴模版网站搭建哪家好网站建设与管理管理课程
  • 四川成都网站制作微信广告平台推广
  • 网站价格网页制作网站开发实训步骤
  • cms 导航网站鹤壁做网站价格
  • 微信营销软件免费版郑州关键词优化费用
  • 邢台专业做网站哪家好临沂网站建设中企动力
  • 建设网站是主营成本吗wordpress 后台
  • 猎头可以做单的网站企业网站建设
  • 建小程序需要网站吗在putty上怎样安装wordpress
  • 天津智能网站建设找哪家WordPress相册插件pro
  • 电脑网站页面怎么调大小济宁网站建设软件开发
  • 亿玛酷网站建设广州增城区最新消息
  • 企业网站视频栏目建设方案中企动力网站模板
  • 网站页面策划国外注册域名的网站
  • 百中搜如何做网站排名网站维护一年一般多少钱
  • 镇江地区做网站的公司wordpress说说加分类
  • 深圳高端网站设计免费的关键词优化软件
  • 视频网站公司沈阳网站建设服务
  • 网站全屏代码做网站必须用对方服务器
  • 网站速度慢wordpressssl正式申请后wordpress
  • 那个网站做玉石最专业西瓜创客少儿编程加盟
  • 备案时的网站建设方案书免费软件库