自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 打一个可以双击安装和有桌面图标的DEB包

打一个可以双击安装和有桌面图标的DEB包

2024-07-24 17:48:40 554

原创 使用jdk11运行javafx程序和jdk11打包jre包含javafx模块

使用jdk11运行javafx程序和jdk11打包jre包含javafx模块

2024-07-09 18:40:51 734

原创 vue从入门到精通(六):数据代理

vue中的数据代理

2024-06-04 00:28:40 488

原创 vue从入门到精通(五):MVVM模型

Vue的MVVM模型

2024-05-23 00:25:17 398

原创 vue从入门到精通(四):el和data的两种写法

el:用于指定当前Vue实例为哪个容器服务,值通常为css选样器字符串data:用于存储数据,数据供el所指定的容器去使用

2024-05-20 00:09:39 259

原创 vue从入门到精通(三):数据绑定

认识和使用数据绑定

2024-05-16 23:44:46 225

原创 vue从入门到精通(二):Vue模板语法

快速了解入门Vue模板语法

2024-05-14 23:57:57 353

原创 夯实spring(二十三): 父子容器

什么是父子容器为什么需要用父子容器父子容器如何使用

2024-05-14 14:55:45 658

原创 vue从入门到精通(一):初始Vue

初始Vue,创建和使用基本Vue

2024-05-13 22:30:10 393

原创 夯实spring(二十一):@Scope、@DependsOn、@ImportResource、@Lazy

@Scope、@DependsOn、@ImportResource、@Lazy都是比较常用的,一文带你搞懂他们

2024-05-13 10:20:47 889

原创 嵌入式tomcat和实现使用嵌入式tomcat映射静态资源

嵌入式tomcat和实现使用嵌入式tomcat映射静态资源

2024-04-02 11:13:10 681

原创 maven打包把所有依赖的jar copy到一个文件夹

maven打包把所有依赖的jar copy到一个文件夹

2024-03-13 17:49:19 1143

原创 springboot的Converter和HttpMessageConveter

详细解析springboot的Converter和HttpMessageConveter

2024-03-12 23:00:26 984

原创 spring-mvc(1):Hello World

虽然目前大多数都是使用springboot来开发java程序,或者使用其来为其他端提供接口,而为其他端提供接口,这些功能都是依靠springmvc实现的,所以有必要学习一下spring-mvc,这样才能更好的学习springboot。

2024-01-11 10:26:34 1067

原创 javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet

javax.servlet 和 jakarta.servlet的关系和使用tomcat部署 jakarta.servlet

2024-01-11 10:21:09 13954

原创 springboot实现桌面聊天程序(二):项目搭建--客户端与服务器通信

我们的聊天程序服务器使用springboot和使用netty进行通讯。客户端使用javafx和netty。服务器项目和客户端的项目分别搭建两个项目: cc_chat_server和cc_chat.

2023-10-27 00:02:54 226

原创 集成支付宝沙箱支付

集成支付包沙箱支付

2023-10-24 20:41:20 173

原创 SpringBoot 项目打成 jar 后,如何加载外部配置文件

SpringBoot 项目打成 jar 后,如何加载外部配置文件

2023-10-24 19:15:10 496 1

原创 springboot实现桌面聊天程序(一):项目效果

使用springboot、netty、mysql、javafx实现仿微信聊天程序

2023-10-16 15:59:03 114

原创 夯实spring(二十):@Conditional注解详解

这个注解只有一个value参数,Condition类型的数组,Condition是一个接口,表示一个条件判断,内部有个方法matches返回true或false,当所有Condition都成立的时候,@Conditional的结果才成立,所以是逻辑与的关系。配置类解析阶段:这个过程就是处理配置类上面6中注解的过程,此过程中又会发现很多新的配置类,比如@Import导入的一批新的类刚好也符合配置类,而被@CompontentScan扫描到的一些类刚好也是配置类;是按照@Order的,不是按照编写顺序的。

2023-09-15 17:47:20 117

原创 夯实spring(十九):@Import 注解详解

本文来说一下另外一个注册bean的注解:@Import。

2023-09-04 18:03:30 105

原创 夯实spring(十八): @ComponentScan、@ComponentScans注解详解

ComponentScan用于批量注册bean,spring会按照这个注解的配置,递归扫描指定包中的所有类,将满足条件的类批量注册到spring容器中可以通过value、basePackages、basePackageClasses 这几个参数来配置包的扫描范围可以通过useDefaultFilters、includeFilters、excludeFilters这几个参数来配置类的过滤器,被过滤器处理之后剩下的类会被注册到容器中。

2023-08-31 18:22:51 147

原创 夯实spring(十七): @Configration、@Bean注解详解

Configuration注解修饰的类,会被spring通过cglib做增强处理,通过cglib会生成一个代理对象,代理会拦截所有被@Bean注解修饰的方法,可以确保一些bean是单例的不管@Bean所在的类上是否有@Configuration注解,都可以将@Bean修饰的方法作为一个bean注册到spring容器中。

2023-08-29 12:27:58 489

原创 夯实spring(十六):详解java注解

jdk中注解相关的类和接口都定义在java.lang.annotation包中。public @interface 注解名称{[public] 参数类型 参数名称1() [default 参数默认值];[public] 参数类型 参数名称2() [default 参数默认值];[public] 参数类型 参数名称n() [default 参数默认值];访问修饰符必须为public,不写默认为public。

2023-08-23 21:43:18 52

原创 夯实spring(十五):java动态代理与CGLIB代理

spring中用到代理的很多,比如上篇文章中的lookup-method和replaced-method,以及后面要学的aop、spring中的事务、spring中解析@configuration注解等等,这些都是依靠代理来实现的,所以现在来把代理学一下。

2023-08-21 21:39:05 85

原创 夯实spring(十四):lookup-method和replaced-method怎么使用

MethodReplacer接口/***当调用目标对象需要被替换的方法的时候,这个调用请求会被转发到这里的替换者的reimplement方法进行处理。* @param obj 被替换方法的目标对象* @param method 目标对象的方法* @param args 方法的参数*/servie2的方法替换者@OverrideSystem.out.println("我是Service2MethodReplacer");@Override。

2023-08-17 22:50:53 292

原创 夯实spring(十三):abstract & parent 是干什么的

上面多了一个base的bean,这个bean没有指定class对象,但是多了一个abstract=”true”的属性,表示这个bean是抽象的,abstract为true的bean在spring容器中不会被创建,只是会将其当做bean定义的模板,而b和c的定义中多了一个属性parent,用来指定当前bean的父bean名称,此处是base,此时b和c会继承base中定义的配置信息。上面的BeanB和BeanC的属性是一样的。上面的b配置覆盖了父bean中的配置信息。我们修改上面的bean.xml。

2023-08-16 17:22:46 73 1

原创 夯实spring(十二):bean延迟初始化

延迟初始化的bean无法在程序启动过程中迅速发现bean定义的问题,第一次获取的时候可能耗时会比较长。

2023-08-15 17:58:59 180 1

原创 夯实spring(十一):autowire-candidate

setterBean的autowire设置的是byType,即按setter方法的参数类型自动注入,SetterBean的setService的类型是Service,而Service类有2个实现类:ServiceImpl1和ServiceImpl2,而容器容器中刚好有这2个实现类的bean:impl1和impl2,所以上面代码会报错,不知道注入的时候选择那个对象注入。当从容器中按照类型查找一个bean对象的时候,容器中却找到了多个匹配的bean,此时spring不知道如何选择了,就会报这个异常。

2023-08-12 10:31:51 115 1

原创 夯实spring(十):primary的使用和作用

当我们需要一个bean,但是spring容器帮我们找到了两个或多个时怎么办?当希望从容器中获取到一个bean对象的时候,容器中却找到了多个匹配的bean,出现这样的情况时会出现什么问题又怎么解决?

2023-08-10 15:32:22 116 1

原创 夯实spring(九):bean的创建和销毁的顺序和depends-on

那么如果xml中定义的bean特别多,而有些bean之间也没有强依赖关系,此时如果想去调整bean的创建和销毁的顺序,得去调整xml中bean的定义顺序,或者去加强依赖,这样是非常不好的,spring中可以通过depend-on来解决这些问题,在不调整bean的定义顺序和强加依赖的情况下,可以通过通过depend-on属性来设置当前bean的依赖于哪些bean,那么可以保证depend-on指定的bean在当前bean之前先创建好,销毁的时候在当前bean之后进行销毁。搞个测试类,看看创建和销毁的顺序。

2023-08-09 15:51:15 158 1

原创 夯实spring(八):spring依赖注入--自动注入

bean.xml的根元素为beans,注意根元素有个default-autowire属性,这个属性可选值有(no|byName|byType|constructor|default),这个属性可以批量设置当前文件中所有bean的自动注入的方式,bean元素中如果省略了autowire属性,那么会取default-autowire的值作为其autowire的值,而每个bean元素还可以单独设置自己的autowire覆盖default-autowire的配置。

2023-08-08 10:37:28 98 1

原创 夯实spring(七):spring依赖注入--手动注入

本文主要讲解了xml中bean的依赖注入,都是采用硬编码的方式进行注入的,这种是手动的方式注入普通类型通过value属性或者value元素设置注入的值;注入对象如果是容器的其他bean的时候,需要使用ref属性或者ref元素或者内置bean元素的方式还介绍了其他几种类型List、Set、Map、数组、Properties类型的注入,后面将介绍spring为我们提供的自动注入。

2023-08-04 18:08:23 115 1

原创 夯实spring(六):Scope--bean的作用域详解

实现Scope接口/*** 返回当前作用域中name对应的bean对象* name:需要检索的bean的名称* objectFactory:如果name对应的bean在当前作用域中没有找到,那么可以调用这个ObjectFactory来创建这个对象/*** 将name对应的bean从当前作用域中移除/*** 用于注册销毁回调,如果想要销毁相应的对象,则由Spring容器注册相应的销毁回调,而由自定义作用域选择是不是要销毁相应的对象/**

2023-08-03 10:30:34 358

原创 夯实spring(五):容器创建bean实例的方式

我们学过了BeanFactory接口,BeanFactory是spring容器的顶层接口,而这里要说的FactoryBean,也是一个接口,这两个接口很容易搞混淆,FactoryBean可以让spring容器通过这个接口的实现来创建我们需要的bean对象。spring容器以factory-bean的值为bean名称查找对应的bean对象,然后调用该对象中factory-method属性值指定的方法,将这个方法返回的对象作为当前bean对象放在容器中供使用。value:指定参数的值。创建Room的静态工厂。

2023-08-01 18:06:17 95 1

原创 夯实spring(四): bean在xml中定义详解

这篇来学习:前面我们说过bean就是spring容器管理的对象,我们程序中使用到的bean都会交给spring容器创建和管理。那spring容器怎么知道我们需要那些对象或bean呢?我们可以通过bean.xml配置文件告诉spring容器需要管理哪些bean,spring帮我们创建和组装好这些bean对象;那么我们如何从spring中获取想要的bean对象呢?我们需要给bean定义一个名称,spring内部将这些名称和具体的bean对象进行绑定,然后spring容器可以通过这个的名称找对我们需要的对象,这个

2023-07-31 17:07:14 152

原创 夯实spring(三): 容器的基本使用和原理

spring内部提供了很多表示spring容器的接口和对象,我们来看看比较常见的几个容器接口和具体的实现类。

2023-07-31 17:06:37 57

原创 夯实spring(二):认识 IOC 和 AOP

IOC(控制反转) 和 AOP(面向切面编程) 和 DI(依赖注入) 是spring的三个核心。这篇文章让我们来认识一下它们到底是什么。

2023-07-31 17:05:54 72

原创 夯实spring(一):Spring是什么?为什么要学习它?

创建一个spring项目体验和上手一下spring。

2023-07-31 17:05:14 71

原创 夯实spring(0):学习使用到环境

整个夯实spring系列使用版本5.x.x.RELEASE,这里面会有大量案例,通过maven来构建项目,让你轻松学习。

2023-07-31 17:04:24 43 1

空空如也

空空如也

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

TA关注的人

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