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

自治区住房和城乡建设部网站绍兴seo推广公司

自治区住房和城乡建设部网站,绍兴seo推广公司,伍佰亿网站建设,注销建设工程规划许可证在哪个网站文章目录1 SpringBootWeb快速入门1.1Spring官网1.2 Web分析2. HTTP协议2.1 HTTP介绍34 SpringBootWeb请求响应5 响应6 分层解耦6.1 三层架构6.1.1 三层架构介绍6.1.2 基于三层架构的程序执行流程:6.1.3 代码拆分6.2 分层解耦6.2.1 内聚、耦合6.2.2 解耦思路6.3 IOC&…

文章目录

  • 1 SpringBootWeb快速入门
    • 1.1Spring官网
    • 1.2 Web分析
  • 2. HTTP协议
    • 2.1 HTTP介绍
  • 3
  • 4 SpringBootWeb请求响应
  • 5 响应
  • 6 分层解耦
    • 6.1 三层架构
      • 6.1.1 三层架构介绍
      • 6.1.2 基于三层架构的程序执行流程:
      • 6.1.3 代码拆分
    • 6.2 分层解耦
      • 6.2.1 内聚、耦合
      • 6.2.2 解耦思路
    • 6.3 IOC&DI
      • 6.3.1 IOC详解
        • 6.3.1.1 bean的声明
        • 6.3.1.2 组件扫描
      • 6.1.2 DI详解

1 SpringBootWeb快速入门

1.1Spring官网

https://spring.io

spring家族的技术,都是基于SpringFramework的,SpringFramework中提供很多实用功能,如:依赖注入、事务管理、web开发支持、数据访问、消息服务等。

1.2 Web分析

在这里插入图片描述

浏览器服务器两端进行数据交互,使用http协议

2. HTTP协议

2.1 HTTP介绍

HTTP:Hyper Text Transfer Protocol(超文本传输协议),规定了浏览器与服务器之间数据传输的规则。

3

4 SpringBootWeb请求响应

5 响应

6 分层解耦

6.1 三层架构

6.1.1 三层架构介绍

在我们进行程序设计及程序开发时,尽可能让每一个接口、类、方法的职责更单一些(单一职责原则)。

单一职责原则:一个类或一个方法,就只做一件事情,只管一块功能。
在这里插入图片描述
根据上述案例的处理逻辑呢,从组成上分为三部分:

  • 数据访问:负责业务数据的维护操作,包括增、删、改、查等操作。
  • 逻辑处理:负责业务逻辑处理的代码。
  • 请求处理、响应数据:负责,接收页面的请求,给页面响应数据。

按照上述三个组成部分,在我们项目开发中呢,可以将代码分为三层:
在这里插入图片描述

  • Controller控制层。接收前端发送的请求,对请求进行处理,并响应数据
  • Service业务逻辑层。处理具体的业务逻辑
  • Dao数据访问层(Data Access Object),也称为持久层。负责数据访问操作,包括数据的增、删、改、查。

6.1.2 基于三层架构的程序执行流程:

在这里插入图片描述

  • 前端发起请求,由Controller层接收(Controller响应数据给前端)
  • Controller层调用Service层进行逻辑处理(Service层处理完后,把处理结果返回给Controller层)
  • Serivce层调用Dao层(逻辑处理过程中需要用到的数据Dao层获取
  • Dao层操作文件中数据(Dao拿到的数据会返回给Service层)

6.1.3 代码拆分

包名备注作用
控制层包名xxxx.controller接收前端发送请求,对请求进行处理,并响应数据
业务逻辑层包名xxxx.service处理业务逻辑
数据访问层包名xxxx.dao数据访问操作,包含数据的增、删、改、查

三层架构的好处

  1. 复用性强
  2. 便于维护
  3. 利用扩展

6.2 分层解耦

6.2.1 内聚、耦合

内聚:软件中各个功能模块内部的功能联系。
耦合:衡量软件中各个层/模块间的依赖、关联的程度。
软件设计原则:高内聚低耦合。

6.2.2 解耦思路

解决思路是:

  • 提供一个容器,容器中存储一些对象(例:EmpService对象)
  • controller程序从容器中获取EmpService类型的对象

实现上述解耦操作,涉及到Spring中的两个核心概念:

控制反转:( Inversion Of Control,简称IOC)。对象的创建控制权由程序自身转移到外部(容器),这种思想称为控制反转。
依赖注入:(Dependency Injection,简称DI)。容器为应用程序提供运行时,所依赖的资源,称之为依赖注入。

IOC容器中创建、管理的对象,称之为:bean对象

6.3 IOC&DI

6.3.1 IOC详解

6.3.1.1 bean的声明

IOC控制反转,就是将对象的控制权交给Spring的IOC容器,由IOC容器创建及管理对象。IOC容器创建的对象称为bean对象。

要把某个对象交给IOC容器管理,需要在类上添加注解:@Component
为了更好标识web应用程序中bean对象到归属于哪层,又提供了@Component的衍生注解

  • @Controller (标注在控制层类上)
  • @Service (标注在业务层类上)
  • @Repository (标注在数据访问层类上)
注解说明位置
@Controller@Component的衍生注解标注在控制器类上
@Service@Component的衍生注解标注在业务类上
@Repository@Component的衍生注解标注在数据访问类上(由于与mybatis整合,用的少)
@Component声明bean的基础注解不属于以上三类时,用此注解

6.3.1.2 组件扫描

bean想要生效,需要被组件扫描
在这里插入图片描述
运行程序后,报错:
在这里插入图片描述
为什么没有找到bean对象呢?

  • 使用四大注解声明的bean,要想生效,需要被组件扫描注解@ComponentScan扫描
    @ComponentScan注解没有显式配置,但实际上已经包含在引导类声明注解 @SpringBootApplication 中,默认扫描的范围是SpringBoot启动类所在包及其子包

如下结构扫描全部:
在这里插入图片描述

6.1.2 DI详解

依赖注入,指IOC容器要为应用程序提供运行时所依赖的资源,而资源指的就是对象

@Autowired注解,默认是按照类型进行自动装配的(去IOC容器中找某个类型的对象,然后完成注入操作)
入门程序举例:在EmpController运行时,要到IOC容器中找EmpService类型的对象,而IOC容器中刚好有EmpService类型的对象,所以就找到了这个类型的对象完成注入操作。

那如果在IOC容器中,存在多个相同类型的bean对象,会出现什么情况呢?
在这里插入图片描述
程序运行会报错
在这里插入图片描述

如何解决上述问题呢?Spring提供了以下几种解决方案:

  • @Primary
    使用@Primary注解:当存在多个相同类型的Bean注入时,加上@Primary注解,来确定默认的实现。
    在这里插入图片描述
  • @Qualifier
    使用@Qualifier注解:指定当前要注入的bean对象。 在@Qualifier的value属性中,指定注入的bean的名称。
  • @Qualifier注解不能单独使用,必须配合@Autowired使用
    在这里插入图片描述
  • @Resource
    使用@Resource注解:是按照bean的名称进行注入。通过name属性指定要注入的bean的名称。
    在这里插入图片描述

面试题 : @Autowird 与 @Resource的区别

  • @Autowiredspring框架提供的注解,而**@ResourceJDK提供**的注解
  • @Autowired 默认是按照类型注入,而**@Resource按照名称注入**
http://www.bjxfkj.com.cn/article/105497.html

相关文章:

  • 网站收录没图片搜索引擎营销sem
  • 咨询聊城做网站seo搜索引擎优化技术教程
  • 怎样弄一个自己的网站杭州免费网站制作
  • 夜店做鸭网站百度极速版免费下载安装
  • 网站策划方案目标新媒体营销策略
  • 自学网站开发设计个人网站制作模板
  • jsp做新闻网站黑帽seo教程
  • 做服务的网站网络营销软件下载
  • 六安网站建设报价方案app拉新平台哪个好佣金高
  • 网站维护一般需要多久自助建站系统哪个好
  • 怎样把网站做的好看百度助手应用商店下载安装
  • 建工网校是骗局吗太原关键词优化报价
  • 网站制作横幅图片素材网店运营培训
  • wordpress主题建站seo服务公司招聘
  • 天津市最新消息今天东莞seo网站排名优化
  • 湘潭自适应网站建设 磐石网络宁波seo搜索平台推广专业
  • 西安网站免费制作广州新闻热点事件
  • 软件工程培训机构优化公司组织架构
  • 设计高端网站seo最好的工具
  • html5深圳网站开发产品市场推广方案
  • 滨州正规网站建设公司百度云引擎搜索
  • 网站开发需要经历哪些主要阶段广州新闻头条最新消息
  • 罗湖附近公司做网站建设多少钱什么时候网络推广
  • 南京制作企业网站百度站长工具添加不了站点
  • 空压机东莞网站建设创建app平台
  • 什么是搜索引擎销售免费seo公司
  • 去泰国做赌博发网站网站关键词优化排名
  • 基础网络建设方案优就业seo
  • 天地心公司做网站怎样网站流量
  • 个人秀网站优化方案模板