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

巴中哪里做网站淄博seo公司

巴中哪里做网站,淄博seo公司,制作照片的软件app,网站设计模块SpringBoot Web入门 Spring Boot只是简化了Spring项目的配置,其底层还是Spring Framework 创建步骤 注意: 语言选择Java,类型选择Maven,JDK和Java要保持一致,打包方式为Jar 点击下一步 选择Spring Boot的版本&#…

SpringBoot Web入门

 

 Spring Boot只是简化了Spring项目的配置,其底层还是Spring Framework

创建步骤

注意:

语言选择Java,类型选择Maven,JDK和Java要保持一致,打包方式为Jar

点击下一步

选择Spring Boot的版本,注意不要选择后面带(SNAPSHOT)的版本 

配置依赖项,可以再搜索框搜索依赖项名称进行查找,配置完后点击创建。

Spring官方脚手架连接不上解决方案

直接将URl地址换成阿里云的骨架

入门解析

HTTP协议

概述

请求协议

请求数据格式

post方式有请求体,而get方式没有请求体

服务区获取请求分为以下几个步骤 

1.获取请求方式
2.获取请求url地址
3.获取请求协议
4.获取请求参数
5.获取请求头 

响应协议

响应数据格式

响应数据格式分为响应行,响应头,响应体三部分

状态码

其中3XX表示重定向

即浏览器响应如3xx(Location:B)的状态码时,再次发起一次请求,请求B服务器,底层涉及到两次请求响应。

常见状态码

响应数据设置

分为两种方式 

SpringBootWeb案例

在项目开发中,对于基本类型,我们建议使用包装类

可以添加Lombok依赖项,可以直接通过注解简化Java的样板代码,如:

@Data,提供get和set方法;

@NoArgsConstructor,提供无参构造

@AllArgsConstructor,提供全参构造

 


分层解耦

我们在进行软件设计或软件开发的时候,尽量遵循单一职责原则。

单一职责原则:一个类或一个方法,就只做一件事情,只管一块功能。

这样就可以让类、接口、方法的复杂度更低,可读性更强,扩展性更好,也更利于后期的维护。

三层架构

控制层(Controller)

controller:控制层,接收前端发送的请求,对请求进行处理,并响应数据

业务逻辑层(Service)

service:业务逻辑层,处理具体的业务逻辑,

数据访问层(Dao)

dao:数据访问层(Data Access 0bject)(持久层),负责数据访问操作,包括数据的增、删、改、查。

  • 前端发起的请求,由Controller层接收(Controller响应数据给前端)

  • Controller层调用Service层来进行逻辑处理(Service层处理完后,把处理结果返回给Controller层)

  • Serivce层调用Dao层(逻辑处理过程中需要用到的一些数据要从Dao层获取)

  • Dao层操作文件中的数据(Dao拿到的数据会返回给Service层)

分层解耦

  • 内聚:软件中各个功能模块内部的功能联系。

  • 耦合:衡量软件中各个层/模块之间的依赖、关联的程度。

  • 软件设计原则:高内聚低耦合。

    高内聚:指的是一个模块中各个元素之间的联系的紧密程度,如果各个元素(语句、程序段)之间的联系程度越高,则内聚性越高,即 "高内聚"。

    低耦合:指的是软件中各个层、模块之间的依赖关联程序越低越好。

关于解耦我们的解决思路是:

  • 提供一个容器,容器中存储一些对象(例:UserService对象)

  • Controller程序从容器中获取UserService类型的对象

我们想要实现上述解耦操作,就涉及到Spring中的两个核心概念:IOC和DI

IOC&DI入门

  • 控制反转: Inversion Of Control,简称IOC。对象的创建控制权由程序自身转移到外部(容器),这种思想称为控制反转。

    • 对象的创建权由程序员主动创建转移到容器(由容器创建、管理对象)。这个容器称为:IOC容器或Spring容器。

  • 依赖注入: Dependency Injection,简称DI。容器为应用程序提供运行时,所依赖的资源,称之为依赖注入。

    • 程序运行时需要某个资源,此时容器就为其提供这个资源。

    • 例:EmpController程序运行时需要EmpService对象,Spring容器就为其提供并注入EmpService对象。

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

在实现类加上 @Component 注解,就代表把当前类产生的对象交给IOC容器管理。

用@Autowired为Controller 及 Service注入运行时所依赖的对象

IOC详解

Spring框架为了更好的标识web应用程序开发当中,bean对象到底归属于哪一层,又提供了@Component的衍生注解:

  • 前面声明bean的四大注解,要想生效,还需要被组件扫描注解 @ComponentScan 扫描。

  • 该注解虽然没有显式配置,但是实际上已经包含在了启动类声明注解 @SpringBootApplication 中,默认扫描的范围是启动类所在包及其子包。

  • 所以,我们在项目开发中,只需要按照如上项目结构,将项目中的所有的业务类,都放在启动类所在包的子包中,就无需考虑组件扫描问题。

 

DI详解

1.属性注入

  • 优点:代码简洁、方便快速开发。

  • 缺点:隐藏了类之间的依赖关系、可能会破坏类的封装性。

2.构造函数注入

  • 优点:能清晰地看到类的依赖关系、提高了代码的安全性。

  • 缺点:代码繁琐、如果构造参数过多,可能会导致构造函数臃肿。

  • 注意:如果只有一个构造函数,@Autowired注解可以省略。(通常来说,也只有一个构造函数)

3.setter注入

  • 优点:保持了类的封装性,依赖关系更清晰。

  • 缺点:需要额外编写setter方法,增加了代码量。

在项目开发中,基于@Autowired进行依赖注入时,基本都是第一种和第二种方式。(官方推荐第二种方式,因为会更加规范)但是在企业项目开发中,很多的项目中,也会选择第一种方式因为更加简洁、高效(在规范性方面进行了妥协)。

那如果在IOC容器中,存在多个相同类型的bean对象就会出现报错

 

方案一:使用@Primary注解

当存在多个相同类型的Bean注入时,加上@Primary注解,来确定默认的实现。

方案二:使用@Qualifier注解

指定当前要注入的bean对象。 在@Qualifier的value属性中,指定注入的bean的名称。 @Qualifier注解不能单独使用,必须配合@Autowired使用。

方案三:使用@Resource注解

是按照bean的名称进行注入。通过name属性指定要注入的bean的名称。

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

  • @Autowired 是spring框架提供的注解,而@Resource是JDK提供的注解

  • @Autowired 默认是按照类型注入,而@Resource是按照名称注入

http://www.dtcms.com/wzjs/442253.html

相关文章:

  • 上海公司注册核名官网百度刷排名seo
  • 网站在线建设南京百度
  • 工业网站建设广告联盟怎么赚钱
  • 织梦网站如何做301跳转在哪里查关键词排名
  • 连云港建设工程安全网站站长seo推广
  • 怎么用dwcs6做网站设计键词优化排名
  • 学做ps的软件的网站产品推广文案范例
  • 佛山网站建设 合优网站标题优化排名
  • wordpress js写法抖音关键词优化排名靠前
  • 手机移动网站开发打开app下载
  • 如何评价一个网站国内搜索引擎排名2022
  • 大连网络建站模板整站seo定制
  • 介绍做ppt高大上图表的网站百家号排名
  • 做门窗的建网站怎么赚钱网址大全下载
  • 做钻石资讯网站广州优化营商环境条例
  • vps建设网站百度导航怎么下载
  • 解析网站接口怎么做如何在百度搜索到自己的网站
  • 如何删除网站的信息吗大数据营销软件
  • 互联网网站开发合同范本谷歌seo排名技巧
  • 网站开发专员的面试题有什么推广的平台
  • WordPress漏洞在线扫描seo在线推广
  • 淄博网站制作服务推广seo搜索引擎优化内容
  • 大兴做网站的公司营销课程培训哪个机构好
  • 网站的静态资源服务器怎么做百度seo费用
  • 菏泽做网站的产品推广策划方案
  • 百度网站地图网站搜索
  • 熊掌号 wordpress插件系统优化软件哪个好
  • 外贸b2b 移动网站开发百度重庆营销中心
  • dede多个网站怎么做查网站流量的网址
  • 广州做网站快手作品推广网站