SpringCloud
本博客练习项目已上传 gitee->失铭/SpringCloud 练习
微服务概述什么是微服务
引用 ThoughtWorks 公司的首席科学家 Martin Fowler Microservices 文中的介绍
In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of ce ...
Spring+Mybatis+Druid
Spring+Mybatis+Druid创建项目选择Spring Initializr创建项目,选择jdk版本和默认的Service URL
填写项目的Group,Artifact信息选择Web中的Spring Web和Sql中的Spring Data JDBC,Mybatis,MySQL四个依赖然后填写项目信息点击Finish
导入依赖添加Druid依赖
12345<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.23</version></dependency>
修改配置文件修改datasource.properties文件
1234567891011121314151617181920212223242526272829303132333435#datasource<!-- mysql8.0以上版本 -->spring.dat ...
SpringBoot自动配置
序言Spring Boot的出现,得益于“约定大于配置”的理念,没有繁琐的配置、难以集成的内容(大多数流行第三方技术都被集成),这是基于Spring 4.x提供的按条件配置Bean的能力。
自动配置作为SpringBoot的精髓,不仅仅是“面试”中会问到自动配置的原理,如果能理解自动配置的原理,将无往不利。
本文使用SpringBoot版本为:2.3.3
工作原理@SpringBootApplication首先,我们都知道SpringBoot项目运行标记 @SpringBootApplication 注解的类 的main方法来启动SpringBoot应用,那么从这里开始着手
@SpringBootApplication: Spring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用。
在xxxApplication.java文件中查看@SpringBootApplication注解(按住ctrl+点击注解)
12345678910111213141516171819// S ...
SpringBoot基础
SpringBoot简介SpringBoot是一种全新的框架,目的是为了简化Spring应用的初始搭建以及开发过程。该框架使用特定的方式(集成starter,约定大于配置)来进行配置,从而使开发人员不需要再定义样板化的配置。SpringBoot提供了一种新的编程范式,可以更加快速便捷地开发Spring项目,在开发过程当中可以专注于应用程序本身的功能开发,而无需在Spring配置上花太大的工夫。
SpringBoot基于Sring4进行设计,继承了原有Spring框架的优秀基因。SpringBoot并不是一个框架,而是一些类库的集合。maven或者gradle项目导入相应依赖即可使用SpringBoot,而无需自行管理这些类库的版本。
简化Spring应用开发的框架整个Spring应用技术栈的大整合J2EE开发的一站式解决方案
SpringBoot优缺点优点:
快速构建独立运行的Spring项目以及与主流框架的继承。
使用嵌入式的Servlet容器,应用无需达成war包。
starters自动依赖和版本控制
大量的自动配置,简化开发,也可修改默认值
无需配置xml,无代码生成
准生 ...
Session和Cookie
本文转发自Session和Cookie的区别与联系并加以修改
1:概念你可能有留意到当你浏览网页时,会有一些推送消息,大多数是你最近留意过的同类东西,比如你想买桌子,上淘宝搜了一下,结果连着几天会有各种各样的桌子的链接。这是因为你浏览某个网页的时候,WEB 服务器会先送一些资料放在你的计算机上,类似于你打的文字,选的一些东西什么的,Cookie 会帮你都纪录下来。当下次你再光临同一个网站,WEB服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie里的内容来判断使用者,送出特定的网页内容给你。
Cookie 的使用很普遍,许多有提供个人化服务的网站,都是利用 Cookie来辨认使用者,以方便送出使用者量身定做的内容。
然而,Cookie是什么呢?Session又是什么?
先来了解几个概念:
无状态的HTTP协议:协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。
HTTP协议是无状态的协议。一旦数据交换完毕,客户 ...
Maven
Maven概念Maven 翻译为”专家”、”内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。
领域
简化构建过程
提供统一的构建系统
提供优质的项目信息
鼓励更好的开发实践
仓库Maven 的本地仓库,在安装 Maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建。运行 Maven 的时候,Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。
POM.xmlPOM 中可以指定以下配置:
项目依赖
插件
执行目标
项目构建 profile
项目版本
项目开发者列表
相关邮件列表 ...
Servlet
Servlet 概念Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为 来自 Web 浏览器或其他 HTTP 客户端的请求 和 HTTP 服务器上的数据库或应用程序 之间的中间层。(处理请求和响应)
Java Servlet 通常情况下与使用 CGI(Common Gateway Interface,公共网关接口)实现的程序可以达到异曲同工的效果。但是相比于 CGI,Servlet 有以下几点优势:
性能明显更好。Servlet 在 Web 服务器的地址空间内执行。这样它就没有必要再创建一个单独的进程来处理每个客户端请求。
Servlet 是独立于平台的,因为它们是用 Java 编写的。服务器上的 Java 安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此,Servlet 是可信的。
Java 类库的全部功能对 Servlet 来说都是可用的。它可以通过 sockets 和 RMI 机制与 applets、数据库或其他软件进行交互。Servlet 架构
下图显示了 Servlet 在 Web 应用程序中的位置。
Servlet 任务Ser ...
SSM搭建
总结
修改web.xml配置文件的内容
添加mybatis、spring_mvc、spring_config的xml文件,放置在资源文件夹根目录,也可以在这里创建分别的目录
把mybatis的mapper.xml文件放置到资源文件夹中,不再与pojo同包
创建controller、pojo、service包,分别创建controller类、pojo对象和接口、service类(选:common:常量类,dto:返回对象类,utils:工具类)
依赖123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118<dependency> <gr ...
SpringMVC
概念MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。 通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。 通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。 通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC的目的是将Model和View的实现代码分离,从而使同一个程序可以使用不同的表现形式。对于同一批数据(Model),可以通过不同的View以不同的形式展示给用户。
配置Servlet3.0之前步骤
添加依赖
配置spring-config.xml
配置视图解析器
配置Disp ...
HTTP协议
HTTP 协议概念HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP 是一个基于 TCP/IP 通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP 是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于 1990 年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在 WWW 中使用的是 HTTP/1.0 的第六版,HTTP/1.1 的规范化工作正在进行之中,而且 HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP 协议工作于客户端-服务端架构为上。浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。Web 服务器根据接收到的请求后,向客户端发送响应信息。
HTTP 特性HTTP 协议构建于 TCP/IP 协议之上,是一个应用层协议,默认端口号是 80HTTP 是无连接无状态的
HTTP 报文请 ...