自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(278)
  • 资源 (11)
  • 收藏
  • 关注

原创 Redis 集群存储算法

分布式存储的常见算法:1、哈希取余算法分区2、一致性哈希算法分区3、哈希槽算法分区

2024-09-22 15:40:53 1093

原创 Docker安装MySQL(主从复制版)

除了展示刚刚配置的主数据库信息外,主要关注 Slave_IO_Running、Slave_SQL_Running。目前两个值应该都为 No,表示还没有开始。再次查看主从同步状态,Slave_IO_Running、Slave_SQL_Running都变为Yes。主要查看返回结果的文件名File、当前位置Position。

2024-09-22 14:19:24 419

原创 Docker 安装 Redis(单机版)

以 Redis 6.0.8 为例:简单的启动Redis容器:简单版没有配置容器卷映射,当容器被删除时数据无法恢复。配置文件、数据文件都和容器卷进行映射。3、启动docker容器:(因为要使用自定义的配置文件,所以需要指定容器运行的命令为redis-server 容器内配置文件路径)

2024-09-22 14:09:25 245

原创 Docker安装MySQL(单机版)

而且因为启动时将容器做了容器卷映射,将mysql的配置(映射到/app/mysql/conf)、数据(映射到/app/mysql/data)、日志(映射到/app/mysql/log)都映射到了宿主机实际目录,所以即使删除了容器,也不会产生太大影响。只需要再执行一下启动Mysql容器命令,容器卷还按相同位置进行映射,所有的数据便都可以正常恢复。启动docker容器后,可以正常的连接、创建数据库,创建表,插入数据。但是插入中文则会报错。而且因为启动容器时没有配置容器卷映射,当容器意外被删时,数据无法找回。

2024-09-11 21:16:38 489

原创 Docker 软件安装步骤

搜索镜像拉取镜像查看镜像启动容器-服务端口映射停止容器停止容器移除容器。

2024-09-11 21:09:00 165

原创 Registry搭建docker私仓

Docker Registry也是Docker Hub提供的一个镜像,可以直接拉取运行。Registry会返回json格式的所有镜像目录。(配置方式和上传到nexus私仓相同)。

2024-09-08 20:24:16 328

原创 Docker 镜像

镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好行程一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。

2024-09-08 19:09:44 1143

原创 Docker 常用命令

CentOS7安全模块比之前系统版本加强,不安全的会先禁止,目录挂载的情况被默认为不安全的行为,在SELinux里面挂载目录被禁止掉了。也即使用该参数,容器内的root才拥有真正的root权限,否则容器内的root只是外部的一个普通用户权限。卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过UnionFS,提供一些用于持续存储或共享数据。特性:卷设计的目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。

2024-09-08 13:50:37 1372

原创 Docker 详细在线安装(CentOS、Ubuntu)、离线安装教程教程

Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。企业版包含了一些收费服务,个人开发者一般用不到。下面的介绍都针对社区版。Docker CE 的安装请参考。

2024-09-05 23:02:58 1087

原创 Docker 简介

Docker是一个开源的容器化平台,可以帮助开发者将应用程序和其依赖的环境打包成一个可移植、可部署的容器。Docker的主要目标是通过容器化技术实现应用程序的快速部署、可移植性和可扩展性,从而简化应用程序的开发、测试和部署过程。容器化是一种虚拟化技术,它通过在操作系统层面隔离应用程序和其依赖的运行环境,使得应用程序可以在一个独立的、封闭的环境中运行,而不受底层操作系统和硬件的影响。

2024-09-05 21:44:45 909

原创 请求,会话,应用程序和WebSocket作用域

request, session, application, 和 websocket作用域只有在Web中使用Spring的ApplicationContext(例如ClassPathXmlApplicationContext)的情况下才用得上。如果在普通的Spring IoC容器,例如ClassPathXmlApplicationContext中使用这些作用域,将会抛出IllegalStateException异常来说明使用了未知的作用域。

2024-08-26 17:43:49 186

原创 依赖原型Bean的单例Bean

当您使用具有依赖于原型bean的单例作用域bean时,请注意在实例化时解析依赖项。因此,如果将原型bean注入到单例的bean中,则会实例化一个新的原型bean,然后将依赖注入到单例bean中。这个依赖的原型bean仍然是同一个实例。但是,假设您希望单例作用域的bean在运行时重复获取原型作用域的bean的新实例。您不能将原型作用域的bean依赖注入到您的单例bean中, 因为当Spring容器实例化单例bean并解析注入其依赖项时,该注入只发生一次。

2024-08-26 17:43:02 264

原创 Spring 原型作用域

也就是说,初始化生命周期回调方法在所有作用域的bean是都会调用的,但是销毁生命周期回调方法在原型bean是不会调用的。所以,客户端代码必须注意清理原型bean以及释放原型bean所持有的资源。可以通过使用自定义的bean post-processor(Bean的后置处理器)来让Spring释放掉原型bean所持有的资源。非单例的、原型bean指的是每次请求bean实例时,返回的都是新的对象实例。也就是说,每次注入到另外的bean或者通过调用 getBean()方法来获得的bean都是全新的实例。

2024-07-15 16:17:28 258 1

原创 Spring 单例作用域

设计模式中的单例模式是将一个对象的作用域硬编码的,一个ClassLoader只能有唯一的一个实例。这意味着,如果在单个Spring容器中为特定类定义一个bean,则Spring容器会根据bean定义创建唯一的bean实例。单例作用域是Spring的默认作用域。换句话说,当您定义一个bean并且它的范围是一个单例时,Spring IoC容器只会根据bean的定义来创建该bean的唯一实例。单例bean在全局只有一个共享的实例,所有依赖单例bean的场景中,容器返回的都是同一个实例。

2024-07-15 16:06:07 265

原创 Spring Bean的作用域概述

创建bean定义时,同时也会定义该如何创建Bean实例。这些具体创建的过程是很重要的,因为只有通过对这些配置过程,您才能创建实例对象。您不仅可以将不同的依赖注入到bean中,还可以配置bean的作用域。这种方法是非常强大而且也非常灵活,开发者可以通过配置来指定对象的作用域,无需在Java类的层次上配置。bean可以配置多种作用域,Spring框架支持五种作用域,有三种作用域是当开发者使用基于Web的ApplicationContext的时候才有效的。您还可以创建自定义范围.。作用域描述。

2024-07-15 15:55:51 233

原创 Spring 方法注入

在大多数的应用场景下,多数的bean都是单例的。当这个单例的bean需要和另一个单例的或者非单例的bean协作使用的时候,开发者只需要配置依赖bean为这个bean的属性即可。但是有时会因为bean具有不同的生命周期而产生问题。假设单例的bean A在每个方法调用中使用了非单例的bean B。容器只会创建bean A一次,而只有一个机会来配置属性。那么容器就无法为每一次创建bean A时都提供新的bean B实例。

2024-07-15 15:40:54 869

原创 Spring 自动装配

Spring容器可以根据bean之间的依赖关系自动装配,开发者可以让Spring通过ApplicationContext来自动解析这些关联,自动装载有很多优点:自动装载能够明显的减少指定的属性或者是构造参数。自动装载可以扩展开发者的对象,比如说,如果开发者需要加一个依赖,只需关心如何更改配置即可自动满足依赖关联。这样,自动装载在开发过程中是极其高效的,无需明确选择装载的依赖会使系统更加稳定使用基于XML的配置元数据时,可以使用 元素的autowire属性为bean定义指定autowire模式。

2024-07-11 17:38:57 541

原创 Spring 懒加载bean

如果这个行为不是迫切需要的,开发者可以通过将Bean标记为延迟加载就能阻止这个预初始化 懒加载bean会通知IoC不要让bean预初始化而是在被引用的时候才会实例化。然而,如果延迟加载的类是作为单例非延迟加载的bean的依赖而存在的话,ApplicationContext仍然会在ApplicationContext启动的时候加载。当将bean配置为上述XML的时候, ApplicationContext之中的lazy bean是不会随着 ApplicationContext的启动而进入到预初始化状态的。

2024-07-11 17:24:27 144

原创 Spring depends-on属性

如果一个bean是另一个bean的依赖,通常这个bean也就是另一个bean的属性之一。然而,有时bean之间的依赖不是直接关联的。depends-on属性既可以指定初始化时间依赖性,也可以指定单独的bean,相应的销毁时间的依赖。独立定义了depends-on属性的bean会优先销毁 (相对于depends-on的bean销毁,这样depends-on可以控制销毁的顺序。depends-on属性可以显式强制初始化一个或多个bean。如果想要依赖多个bean,可以提供多个名字作为depends-on的值。

2024-07-11 17:20:50 133

原创 Spring 依赖和配置的细节-06 Null and 空字符串

Strings将属性的空参数视为空字符串。下面基于XML的元数据配置就会将email 属性配置为String的值。<null/>将被处理为null值。

2024-07-11 17:11:30 625

原创 Spring 依赖和配置的细节-05 集合

在<list/>, <set/>,<map/> 和<propes/> 元素中,您可以分别配置Java集合类型 List, Set, Map, and Properties的属性和参数。

2024-07-11 17:01:17 770

原创 Spring 依赖和配置的细节-04内部bean

作为一个极端情况,可以从自定义范围接收销毁回调 , 例如:请求范围的内部bean包含了单例bean,那么内部bean实例会绑定到包含的bean,而包含的bean允许访问request的scope生命周期。这种场景并不常见,内部bean通常只是供给它的外部bean使用。内部bean定义不需要定义的ID或名称。容器还会在创建时忽略scope 标签,因为内部bean始终是匿名的,并且始终使用外部bean创建。开发者是无法将内部bean注入到外部bean以外的其他bean中的。

2024-07-11 16:44:00 239

原创 Spring 依赖和配置的细节-03 引用其他的Bean(装配)

你可以通过这个标签配置一个bean来引用另一个bean。最终会引用另一个对象的所有引用,bean的范围以及校验取决于你是否有通过bean, local, or parent 这些属性来指定对象的id或者name属性。parent属性的值可以与目标bean的id属性一致,或者和目标bean的name属性中的某个一致,目标bean必须是当前引用目标bean容器的父容器。通过指定 bean属性中的元素来指定依赖是最常见的一种方式,可以引用容器或者父容器中的bean,不在同一个XML文件定义也可以引用。

2024-07-11 16:41:02 173

原创 Spring 依赖和配置的细节-02 idref 元素

Spring团队更推荐第一种方式,因为使用了idref 标签,它会让容器在部署阶段就对bean进行校验,以确保bean一定存在。如果client是prototype类型的Bean的话,那么类似拼写之类的错误会在容器部署以后很久才能发现。在ProxyFactoryBean定义中,元素所携带的值在AOP拦截器a>的配置中很常见(至少在Spring 2.0之前的版本是这样)。idref元素的local属性在Spring 4.0以后的xsd中已经不再支持了,而是使用了bean引用。

2024-07-11 16:36:24 210

原创 Spring 依赖和配置的细节-01直接值

元素的value 属性将属性或构造函数参数指定为人类可读的字符串表示形式, Spring的conversion service用于将这些值从String 转换为属性或参数的实际类型。Spring的容器会将里面的文本通过JavaBean的PropertyEditor 机制转换成java.util.Properties 实例, 这种嵌套元素的快捷方式也是Spring团队推荐使用的。

2024-07-11 16:33:44 234

原创 Spring 依赖注入

依赖注入是让对象只通过构造参数、工厂方法的参数或者配置的属性来定义他们的依赖的过程。这些依赖也是其他对象所需要协同工作的对象, 容器会在创建Bean的时候注入这些依赖。整个过程完全反转了由Bean自己控制实例化或者依赖引用,所以这个过程也称之为“控制反转”当使用了依赖注入的特性以后,会让开发者更容易管理和解耦对象之间的依赖,使代码变得更加简单。对象之间不再关注依赖,也不需要知道依赖类的位置。

2024-06-28 16:14:28 773

原创 Spring 实例化Bean

bean定义基本上就是用来创建一个或多个对象的配置,当需要bean的时候,容器会查找配置并且根据bean定义封装的元数据来创建(或获取)实际对象。如果你使用基于XML的配置,那么可以在 元素中通过 class属性来指定对象类型。class属性实际上就是BeanDefinition实例中的class属性。他通常是必需的。有两种方式使用Class属性。通常情况下,会直接通过反射调用构造方法来创建bean,这种方式与Java代码的new创建相似。通过静态工厂方法创建,类中包含静态方法。

2024-06-28 15:26:27 470

原创 Spring 命名bean

在对bean定义时,除了使用id属性指定唯一的名称外,还可以提供多个别名,这需要通过name属性指定。所有这个名称都会指向同一个bean,在某些情况下提供别名非常有用,例如为了让应用每一个组件都能更容易的对公共组件进行引用。然而,在定义bean时就指定所有的别名并不是很恰当的。有时期望能够在当前位置为那些在别处定义的bean引入别名。

2024-06-28 15:07:08 385

原创 Spring bean的概述

除了bean定义包含如何创建特定的bean的信息外,ApplicationContext实现还允许用户在容器中注册现有的、已创建的对象。种程度上是支持的, 但是新bean在运行时(同时访问动态工厂)注册官方并不支持,可能会导致并发访问异常、bean容器中的不一致状态,或者两者兼。这些bean是由您提供给容器的元数据配置创建的(例如,XML 定义的形式)。其他配置用于新对象的创建,例如使用bean的数量来管理连接池,或者限制池的大小。限定包类名称: 通常,定义的bean的实际实现类。

2024-06-28 14:36:53 419

原创 Spring容器概述及其配置

org.springframework.context.ApplicationContext是Spring IoC容器实现的代表,它负责实例化,配置和组装Bean。容器通过读取配置元数据获取有关实例化、配置和组装哪些对象的说明。配置元数据可以使用XML、Java注解或Java代码来呈现。它允许你处理应用程序的对象与其他对象之间的互相依赖关系。Spring提供了ApplicationContext接口的几个实现。在独立应用程序中,通常创建。

2024-03-04 21:53:30 933

原创 使用Maven引入Spring

Maven是Apache下的项目管理工具,它由纯Java语言开发,可以帮助我们更方便的管理和构建Java项目。

2024-03-03 15:54:03 1277

原创 IOC(Inversion of Control):控制反转

IOC是一种设计思想,在Java开发中,将你设计好的对象交给容器控制,而不是显示地用代码进行对象的创建。把创建和查找依赖对象的控制权交给 IoC 容器,由 IoC 容器进行注入、组合对象之间的关系。这样对象与对象之间是松耦合、功能可复用(减少对象的创建和内存消耗),使得程序的整个体系结构可维护性、灵活性、扩展性变高。所谓IOC ,就简短一句话:对象由spring来创建、管理,装配!很多人把IOC和DI说成一个东西,笼统来说的话是没有问题的,但是本质上还是有所区别的,希望大。

2024-03-03 15:36:59 929

原创 Spring 介绍

官网地址:Spring Frameworkspring5中文手册:https://github.com/DocsHome/spring-docs/blob/master/SUMMARY.md压缩包下载地址:JFrog源码地址:GitHub - spring-projects/spring-framework: Spring FrameworkSpring Framework 是一个轻量级的解决方案,可以一站式构建企业级应用。然而,Spring 是模块化的,允许你使用的你需要的部分,而不必把其余带进来。你可以

2024-03-03 15:01:36 767

原创 框架(framework)简介

框架就是一些类和接口的集合,通过这些类和接口协调来完成一系列的程序实现。JAVA框架可以分为三层:表示层,业务层和物理层。框架又叫做开发中的半成品,它不能提供整个WEB应用程序的所有东西,但是有了框架,我们就可以集中精力进行业务逻辑的开发而不用去关心它的技术实现以及一些辅助的业务逻辑。大家熟知的Structs和Spring就是表示层和业务层框架的强力代表。框架就是某些个人或者组织定义了一系列的类或者接口,提前定义好了一些实现,用户可以。

2024-03-03 14:49:30 1090

原创 Nexus是什么

其实并不是 Maven 的核心概念,它仅仅是一种衍生出来的特殊的仓库,但这并不代表它不重要,相反由于私服具有降低中央仓库负荷、节省外网带宽、以及提高项目稳定性等优点,使得私服在实际开发过程中得到了相当普遍地使用。Nexus 是 Sonatype 公司发布的一款仓库(Repository)管理软件,常用来搭建 Maven 私服,所以也有人将 Nexus 称为“Maven仓库管理器”。其中,Sonatype Nexus 是当前最流行,使用最广泛的 Maven 仓库管理器。

2024-03-03 14:36:13 1004

原创 IDEA执行Maven命令

在工作区的最右侧,IntelliJ IDEA 为我们提供了一个十分实用的窗口:Maven 工具窗口,通过它我们几乎可以完成所有与 Maven 相关的操作。

2024-01-25 11:23:45 1279

原创 IDEA导入Maven项目

相比新建 Maven 项目,实际工作中使用更多的是将已有的 Maven 项目导入 IntelliJ IDEA 中,具体步骤如下。或者在 IntelliJ IDEA 工作区上方的菜单栏中选择 File ,在下拉菜单选中 Open,如下图。

2024-01-25 10:37:18 791

原创 IDEA新建Maven项目

注意:此处我们也可以不勾选 Create from archetype 选项,直接点击下方的 Next 按钮,来直接创建一个简单的 Maven 项目。

2024-01-25 10:22:40 1262

原创 Maven私服

Maven 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。建立了 Maven 私服后,当局域网内的用户需要某个构件时,会按照如下顺序进行请求和下载。此外,一些无法从外部仓库下载到的构件,也能从本地上传到私服供其他人使用。下图中展示了 Maven 私服的用途。

2024-01-25 09:53:57 383

原创 IDEA配置Maven环境

IntelliJ IDEA 是当前最流行的 Java IDE(集成开发环境)之一,也是业界公认最好用的 Java 开发工具之一。IntelliJ IDEA 支持 Maven 的全部功能,通过它我们可以很轻松地实现创建 Maven 项目、导入 Maven 项目、向已有项目添加 Maven 支持等功能。

2024-01-23 17:34:16 415

Java开发之Spring Boot框架核心技术

把以前学习的东西做一个整理,方便实时查阅,希望大家能够喜欢。

2022-03-29

Java开发之SSM企业轻量级开发框架

把以前学习的东西做一个整理,方便实时查阅,希望大家能够喜欢。

2022-03-28

java框架基础总结反射

把以前学习的东西做一个整理,方便实时查阅,希望大家能够喜欢。

2022-03-28

使用JSP Servlet技术开发新闻发布系统

把以前学习的东西做一个整理,方便实时查阅,希望大家能够喜欢。

2022-03-28

Spring MVC框架的体系结构

把以前学习的东西做一个整理,方便实时查阅,希望大家能够喜欢。

2022-03-28

使用jQuery快速制作网页交互特效

把以前学习的东西做一个整理,方便实时查阅,希望大家能够喜欢。

2022-03-28

使用Java实现数据库编程

把以前学习的东西做一个整理,方便实时查阅,希望大家能够喜欢。

2022-03-28

使用Java实现面向对象编程

把以前学习的东西做一个整理,方便实时查阅,希望大家能够喜欢。

2022-03-28

HTML总结html相关

把以前学习的东西做一个整理,方便实时查阅,希望大家能够喜欢。

2022-03-28

使用java理解程序逻辑Java基础知识

把以前学习的东西做一个整理,方便实时查阅,希望大家能够喜欢。

2022-03-28

空空如也

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

TA关注的人

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