自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Spring IoC/DI 01-IoC/DI 简介

IoC/DI 简介IoCIoC(英文全称为 Inversion of Control,中文译名为控制反转)是一种设计思想。在传统程序中,需要的对象(也可称之为依赖对象)都由编程开发人员直接控制(包括创建、销毁,如通过 new 的方式创建一个对象),这个可以理解为正转;而在 IoC 设计思想中,需要的对象由某个容器来控制(包括创建、销毁和注入),对象的控制权不再归属于编程人员,而归属于容器,这...

2020-02-21 17:30:16 286 1

原创 Git 基础教程02-常用命令

命令说明<>内的内容为必填项[]内的内容为选填项file代指具体的文件路径message代指具体的说明内容remoteRepo代指具体的远程仓库地址remoteName代指具体的远程仓库名称localBranchName代指具体的本地仓库分支名remoteBranchName代指具体的远程仓库分支名stashName代指具体的工作现场名commitId代指具体的版...

2019-10-14 17:53:19 202

原创 Nacos 集群搭建

Nacos 集群搭建零. 参考文档官网文档:Nacos支持三种部署模式官网文档:集群部署说明一. 资源选择1.1 背景说明Nacos 集群需要 3 个或 3 个以上的 Nacos 节点才能构成;Nacos 默认使用嵌入式数据库实现数据的存储,也支持(目前也仅支持)Mysql 数据源的配置;本次 Nacos 集群采用 3 个 Nacos 节点,并配置 Mysql 数据源进行存储数据。此外,Nacos 集群需要有一个统一入口进行反向代理,本次采用 Nginx 服务。1.2 服务器选择

2020-11-27 14:47:49 498

原创 SpringFramework源码编译

SpringFramework源码编译在编译 SpringFramework 源码时,注意事项较多,掌握之后相对来说还是比较简单的。0. 基础环境JDK:1.8 及以上即可(官方文档要求 JDK 8 update 262 or later),笔者编译时的版本时 JDK 8 update 251IDEA:这个不确定,笔者使用的是 IDEA 2019.2.4Gradle:有的文档说官方文档要求 Gradle 需要低于 Gradle 6 的版本(没有查证),可以根据 spring framework

2020-09-03 11:42:37 1644

原创 Spring IoC/DI 12-混合配置注入 Bean

混合配置注入 Bean一般情况下,注入 Bean 的方式,不是通过 XML 配置,就是通过 Java 配置,如果想要同时将两种配置生效(即混合配置),则需要在 Java 配置中通过 @ImportResource 注解导入 XML 配置,应用时通过 Java 配置获取 Bean,此时 Java 配置和 XML 配置的 Bean 都可以获取到。示例UserJava.java --> 通过...

2020-02-21 17:39:18 163

原创 Spring IoC/DI 11-Bean 的生命周期

Bean 的生命周期生命周期类型Bean 的生命周期(又称作用域)类型主要有四种:singleton:单例形式,每次请求的都是同一个 Beanprototype:原型形式,每次请求的都是一个新的 Beanrequest:Bean 的生命周期与 request 同步session:Bean 的生命周期与 session 同步生命周期类型的设定默认情况下,bean 的生命周期类型是...

2020-02-21 17:38:49 162

原创 Spring IoC/DI 10-条件注解注入 Bean(Java配置实现)

条件注解注入 Bean(Java配置实现)模拟场景当程序在 Windows 操作系统下运行时打印 dir 命令,在 Linux 操作系统下运行时打印 ls 命令代码实现定义接口ShowCmd.javapublic interface ShowCmd { String show();}定义接口实现// ShowCmdInLinux.javapublic clas...

2020-02-21 17:38:21 131

原创 Spring IoC/DI 09-Profile 注入不同环境下的 Bean

Profile 注入不同环境下的 Bean原理在注入 Bean 的时候通过 Profile 为 Bean 设定环境实现创建一个普通类DataSource.javapublic class DataSource { private String url; private String username; private String password; p...

2020-02-21 17:37:53 142

原创 Spring IoC/DI 08-自动配置注入 Bean

自动配置注入 Bean自动配置的目的为了使得 Bean 的注入不需要一个一个的配置,可以通过自动配置来简化。自动配置的实现为创建为 Bean 的类添加注解@Component 一般用在身份不明确的组件上@Repository 一般用在数据库访问层–Dao层/Repository层@Service 一般用在业务逻辑层–Service层@Controller 一般用在控制器层–Con...

2020-02-21 17:37:07 116

原创 Spring IoC/DI 07-Java 配置注入 Bean

Java 配置注入 Bean开发工具:IntelliJ IDEAJDK 版本:1.8Spring 版本:spring-framework-4.3.9.RELEASE搭建 Spring 项目环境创建普通 Java 项目项目根目录下新建 lib 文件夹复制 Spring 项目环境基本包(5个Spring包+1个日志包)到 lib 文件夹中beans:spring-beans-4.3...

2020-02-21 17:36:08 145

原创 Spring IoC/DI 06-XML 注入 Bean 的属性

XML 注入 Bean 的属性注入方式:property注入==set方法注入,指定属性名constructor-arg注入==构造器注入,默认按顺序执行,也可指定顺序(index,从0开始)、属性名(name)、类型(type)p命名空间注入==set方法注入,指定属性名注入时value和ref的区别基本类型:使用value指定String:使用value指定非String...

2020-02-21 17:34:46 125

原创 Spring IoC/DI 05-XML 通过实例工厂方法注入 Bean

XML 通过实例工厂方法注入 Bean区别通过实例工厂方法注入与通过静态工厂方法注入类似,区别有两点:实例工厂方法不是静态方法,静态工厂方法是静态方法实例工厂方法注入时的配置,需要先配置一个实例工厂类的 Bean ,然后根据该工厂 Bean 创建所需要的 Bean示例User.javapublic class User { private String name; ...

2020-02-21 17:34:05 199

原创 Spring IoC/DI 04-XML 通过静态工厂方法注入 Bean

XML 通过静态工厂方法注入 Bean1. 创建一个 User 类和对应的工厂类 UserFactoryUser.javapublic class User { private String name; private int age; public User() { System.out.println("调用User类的无参构造方法"); ...

2020-02-21 17:33:34 529

原创 Spring IoC/DI 03-XML 通过普通构造方法注入 Bean

XML 通过普通构造方法注入 Bean1. 创建简单 Java 类User(属性:name-String, age-int,getter方法和setter方法,无参构造方法[可加入打印信息],sayHello方法)package org.daistudy;public class User { private String name; private int age; ...

2020-02-21 17:32:12 124

原创 Spring IoC/DI 02-XML配置注入Bean基础步骤

XML 注入 Bean 基础步骤开发工具:IntelliJ IDEAJDK 版本:1.8Spring 版本:spring-framework-4.3.9.RELEASE搭建 Spring 项目环境创建普通 Java 项目项目根目录下新建 lib 文件夹复制 Spring 项目环境基本包(4个Spring包+1个日志包)到 lib 文件夹中beans:spring-beans-4...

2020-02-21 17:31:32 188

原创 RSA前端加密后端解密(密钥动态生成)

RSA 是什么RSA 是一种非对称加密算法,简单概括,就是加密和解密时使用不同的密钥进行。问题一般在进行WEB开发过程中,少不了用户登录功能的开发,用户在登录时需要输入用户名(或邮箱等其它唯一标识信息)和密码进行系统登录。如果密码通过明文的方式进行http传输并登录时,密码将能被人查看到。此时多数人会想到MD5编码,通过将密码进行MD5编码成无法解密的密文,则他人就算获取到该密文,也无法...

2019-12-11 17:44:43 7614 2

原创 Git 扩展之全局配置

配置代理设置代理git config --global http.proxy http://127.0.0.1:8080 git config --global https.proxy http://127.0.0.1:8080 取消代理git config --global --unset http.proxy git config --global --unset https.p...

2019-10-14 17:55:36 174

原创 Git 扩展之分支管理原理

为什么需要分支问题情景:开发人员在开发一个新功能,需要两天完成,第一天完成 50%,如果当天提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失第一天进度的巨大风险。解决方案:创建了一个属于你自己的分支,别人看不到,别人可以继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上。Git 分支...

2019-10-14 17:55:17 151

原创 Git 扩展之版本控制模型

问题情景如下图所示。假设现在有两个同事:Harry 和 Sally,他们在同一时间修改了仓库中的同一文件。如果 Harry 先把修改保存到仓库中,后面 Sally 就有可能用他的新版本文件覆盖掉 Harry 的版本。虽然 Harry 的修改不会就此丢失 (因为版本控制系统会记住每一次修改),但是 Harry 的修改不会出现在 Sally 的新版本文件中,因为他从未看到过 Harry 的修改。从效...

2019-10-14 17:54:53 207

原创 Git 扩展之 SSH Key

SSH Key 的创建SSH Key 与计算机的用户一一对应,同一个计算机上的不同用户拥有不同的 SSH Key ,不同计算机的用户的 SSH Key 也不相同查看是否创建在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,就说明已经创建了创建命令创建时需要指定用户的邮件地址ssh-keygen -t r...

2019-10-14 17:53:55 214

原创 Git 基础教程01-重要概念

Git 的关键概念工作区(Working Directory):本地能看到的目录版本库(Repository):也称之为仓库,实际上就是工作区中的 .git 目录,版本库中包括很多东西,其中最重要的就是称为 stage (或者叫 index )的暂存区,还有 Git 为我们自动创建的第一个分支 master ,以及指向 master 的一个指针叫 HEAD提交修改的机制git add...

2019-10-14 17:53:00 109

原创 Git 基础教程00-简介

Git 是什么Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.Git 是一款免费的、开源的分布式版本控制系统,可以快速地、有效地管理...

2019-10-14 17:52:00 106

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除