King's Studio

King's Studio

Coding to change the world!

手写SpringMVC
SpringMVC是一款基于MVC架构模式的轻量级Web框架,其目的是将Web开发模块化,对整体架构进行解耦,简化Web开发流程。SpringMVC基于请求驱动,即使用请求-响应模型。由于SpringMVC遵循MVC架构规范,因此分层开发数据模型层(Model)、响应视图层(View)和控制层(Controller),可以让开发者设计出结构规整的Web层。 概念SpringMVC中的核心DispatcherServlet继承了HttpServlet,并且重写了Java中HttpServlet的方法,用于处理get/post请求,其中重写了init方法用来解析web.xml的配置,解析Sp...
Spring Boot嵌入式Servlet容器启动原理
嵌入式Servlet容器启动原理前面我们总结了Spring Boot中嵌入式Servlet容器自动配置原理,也提到了Spring Boot2.0版本中使用ServletWebServerFactoryConfiguration替换了EmbeddedServletContainerAutoConfiguration,那么什么时候创建嵌入式的Servlet容器工厂以及什么时候获取嵌入式的Servlet容器并启动Tomcat呢?我们进入到ServletWebServerFactoryConfiguration中查看。 获取嵌入式的Servlet容器从Spring Boot应用启动运行run()...
Spring Boot嵌入式Servlet容器自动配置原理
以前的web应用开发我们采取的方式是项目完成后打包成war包,然后配置tomcat启动运行项目,而Spring Boot默认使用的是嵌入式的tomcat,那我们需要如何配置嵌入式的Servlet容器呢? 定制修改Servlet容器相关配置修改和server有关的配置我们可以到项目的配置文件中直接对server的属性进行修改。 在ServerProperties中我们能够看到所有可以进行配置的属性。 编写一个WebServerFactoryCustomizer:web服务器工厂定制器在Spring Boot2.0及以上版本的学习过程中,我发现了多处与之前版本不同的地方,应该算是Spri...
Spring Boot自动配置原理
Spring Boot项目快速搭建的核心就在于自动配置的原理,在自动配置的基础上,我们在创建项目的时候就可以选择包含哪些依赖,极大地提高了构建项目的效率。而要熟练掌握Spring Boot的使用,就必须要理解自动配置的原理,我们还从Spring Boot启动的时候加载的主配置类说起。 原理Spring Boot应用启动时加载主配置类123456@SpringBootApplicationpublic class SpringBootHelloQuickApplication { public static void main(String[] args) { ...
Spring Boot自定义配置属性
自定义配置属性Spring Boot提供了许多的配置,但通常情况我们需要自定义的配置应用自己的系统中,例如你需要配置一个默认的用户名密码做为系统的登录用。首先创建一个实体类,作为配置注入用,并使用@ConfigurationProperties注解进行批量注入,也可以使用Spring底层注解@Value的方式一个一个注入达到同样的效果。 @ConfigurationProperties注解123456789@Component@ConfigurationProperties(prefix = "person")public class Person { private S...
Spring Boot配置文件的优先级
Spring Boot支持两种配置文件的形式,一种是application.properties,另一种是application.yml。最近在配置过程中遇到了配置文件优先级的问题,现在来总结一下。 Spring Boot配置文件properties和yml的优先级首先来讲一下yml文件与properties文件语法上的不同,以设置应用端口为例:properties文件示例(application.properties): 1server.port=80 YAML文件示例(application.yml): 12server: port: 80 在这里就不过多对yml的语法进行研究...
Spring Boot项目的快速搭建并启动
通常我们创建Spring的项目都需要先创建Maven工程,然后再引入各种Spring的依赖,这样的步骤我们早已经习惯了,不过在使用过Spring Boot之后,我们发现以前创建项目的步骤实在是太过繁琐了。现在我们来向大家介绍Spring Boot提供的目前最便捷迅速的构建Spring项目的方式。 使用Spring Initializer快速创建Spring Boot项目如何创建首先File–>New Project,选择Spring Initializer,点击Next。 然后输入Group和Artifact,点击Next。 在这个页面选择项目需要的依赖,例如Web、SQL等。...
基于Maven的SSM框架的搭建
在简单的面向对象关系映射框架的基础上,我对集成化程度更高的SpringMVC+Spring+MyBatis框架(以下简称SSM框架)进行了学习和总结,在这里我们主要总结如何在Maven的基础上搭建SSM框架并使用。 基本概念MavenMaven是一个项目管理工具,它包含了一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期阶段中插件目标的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。此外,Maven能够很方便的帮你管理项目报告,生成站点,管...
手写简单Object Relationship Mapping框架
前言为了将最近学习的JDBC、反射、设计模式综合起来,就学习手写了ORM框架,ORM全称Object Relationship Mapping,意思是对象关系映射,主要思想有三点:1、数据库中的表结构和类结构对应;2、表中字段和类属性对应;3、表中记录和类的对象对应。这就是实现对象关系映射的基本要求,对应到框架中就会有很多接口和实现类。 具体实现核心架构框架src目录下一共有四个package,分别是:bean包,负责封装数据库表中的信息以及生成与表结构对应的类;core包,负责与数据库的连接操作以及数据类型的转换;pool包,连接池功能,加入连接池,使查询的效率大幅提高;utils包,...
Mac使用技巧分享
服务器连接最近在修改利用vultr搭建的服务器配置时,在网上百度了使用Mac进行SSH服务器连接的操作,发现了终端的神秘功能,利用终端的“新建远程连接”,输入服务器地址加用户名,然后在终端输入密码就可以在终端对服务器进行操作,使用终端的这个功能省去了去下载其他软件的时间,也避免了很多麻烦。 终端操作连接服务器学习使用好Mac就要有一定的Linux基础,我一直在练习LIinux的许多命令,也在尝试了解Linux生层次的一些内容,在这里就向大家另外介绍一种用终端命令连接服务器的操作,终端命令是: 1ssh 用户名@服务器地址 .swp文件处理方式在搭建Hexo博客的过程中,遇到过很多问题,...
avatar
金奇
Pay attention to me