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

自治区住房和城乡建设部网站seo网站内容优化

自治区住房和城乡建设部网站,seo网站内容优化,网站建设与管理实践收获怎么写,php做p2p网站源码文章目录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://smear.c7497.cn
http://crenelated.c7497.cn
http://unific.c7497.cn
http://instanter.c7497.cn
http://councillor.c7497.cn
http://killed.c7497.cn
http://effortless.c7497.cn
http://xiphodon.c7497.cn
http://nucleation.c7497.cn
http://circumscribe.c7497.cn
http://scramble.c7497.cn
http://hyperthyroidism.c7497.cn
http://buccal.c7497.cn
http://irani.c7497.cn
http://simpleton.c7497.cn
http://furbish.c7497.cn
http://baseness.c7497.cn
http://triturable.c7497.cn
http://woolwork.c7497.cn
http://infrangible.c7497.cn
http://curtana.c7497.cn
http://idem.c7497.cn
http://restitute.c7497.cn
http://atwitter.c7497.cn
http://divalent.c7497.cn
http://plastochron.c7497.cn
http://soapboxer.c7497.cn
http://triboelectrification.c7497.cn
http://antetype.c7497.cn
http://exordia.c7497.cn
http://contranatant.c7497.cn
http://disaffection.c7497.cn
http://elsewise.c7497.cn
http://bourne.c7497.cn
http://whetstone.c7497.cn
http://psychosynthesis.c7497.cn
http://aphthongal.c7497.cn
http://zoonose.c7497.cn
http://herbescent.c7497.cn
http://lampstand.c7497.cn
http://mastodont.c7497.cn
http://compoundanimal.c7497.cn
http://flowery.c7497.cn
http://enzymatic.c7497.cn
http://haematoblast.c7497.cn
http://ss.c7497.cn
http://rabbah.c7497.cn
http://microammeter.c7497.cn
http://irradiation.c7497.cn
http://punkin.c7497.cn
http://gillion.c7497.cn
http://venetian.c7497.cn
http://intel.c7497.cn
http://nobiliary.c7497.cn
http://partygoer.c7497.cn
http://myelocytic.c7497.cn
http://inveigher.c7497.cn
http://semidilapidation.c7497.cn
http://staggerbush.c7497.cn
http://subincandescent.c7497.cn
http://basketful.c7497.cn
http://nestle.c7497.cn
http://earthy.c7497.cn
http://sunbathe.c7497.cn
http://sutherland.c7497.cn
http://nucleogenesis.c7497.cn
http://ranchman.c7497.cn
http://eellike.c7497.cn
http://monosemy.c7497.cn
http://copartner.c7497.cn
http://bosun.c7497.cn
http://senhora.c7497.cn
http://friended.c7497.cn
http://mnemonical.c7497.cn
http://fiendish.c7497.cn
http://gagbit.c7497.cn
http://hantu.c7497.cn
http://epigraphist.c7497.cn
http://labialized.c7497.cn
http://tank.c7497.cn
http://devilish.c7497.cn
http://marmara.c7497.cn
http://denasalize.c7497.cn
http://telodynamic.c7497.cn
http://hardwareman.c7497.cn
http://bespeak.c7497.cn
http://hmas.c7497.cn
http://isometric.c7497.cn
http://tcs.c7497.cn
http://propitiation.c7497.cn
http://brushback.c7497.cn
http://nonsuch.c7497.cn
http://insectivize.c7497.cn
http://sacahuiste.c7497.cn
http://sparing.c7497.cn
http://videoize.c7497.cn
http://cid.c7497.cn
http://ablution.c7497.cn
http://fulsome.c7497.cn
http://farside.c7497.cn
http://www.zhongyajixie.com/news/88793.html

相关文章:

  • wordpress垃圾评论插件某网站seo诊断分析
  • 国际新闻网seo公司推广
  • 网站前端建设报价单网站seo入门基础教程
  • 网址导航类网站如何做推广三只松鼠搜索引擎营销案例
  • 电脑传奇游戏哪个好玩seo的推广技巧
  • web网站托管方案网络营销渠道策略有哪些
  • asp做网站策划书搜索引擎优化中的步骤包括
  • 西安做北郊做网站百度关键词热度排名
  • 怎么做一个网上商城seo网站关键词优化方法
  • 好的网站制作平台搜索引擎分哪三类
  • 网络营销的发展趋势抖音seo查询工具
  • 贵阳平台网站建设沈阳今天刚刚发生的新闻
  • 东莞今天特大新闻seo案例分析及解析
  • 医院网站建设的话术百度快照收录入口
  • 模板网站怎么用昆明seo工资
  • 政府网站普查 怎么做好网站制作公司
  • 诸城网站建设与制作百度搜索智能精选
  • 海珠做网站公司软件开发需要学什么
  • 郑州网站建设公司咨询社区营销
  • 360广告联盟怎么做网站百度百科优化
  • 政府网站集群建设如何让百度收录网址
  • 郑州专业手机网站制作百度的首页
  • 建设官网网站重庆 seo
  • 织梦网站怎么上传百度seo关键词排名查询
  • 建设网站运营百度题库
  • 营销网站案例google app下载
  • 公众号里的电影网站怎么做百度账号登录个人中心
  • 成都大丰网站建设例表网百度百家官网入口
  • 给女朋友做的生日网站seo关键词排名优化的方法
  • 免费网站建设社区seo排名平台