自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (8)
  • 收藏
  • 关注

原创 Spring注解开发—— 43、@EventListener;注解来监听事件

43、扩展原理-@EventListener与SmartInitializingSingleton还可以使用 @EventListener; 来监听事件 原理:使用EventListenerMethodProcessor处理器来解析方法上的@EventListener;EventListenerMethodProcessor 实现SmartInitializingSingleton ,S...

2020-03-26 21:12:58 951

原创 Spring注解开发——41-42、ApplicationListener事件监听器用法

41、扩展原理-ApplicationListener用法ApplicationListener监听容器中发布的事件。事件驱动模型开发;public interface ApplicationListener<E extends ApplicationEvent>监听 ApplicationEvent 及其下面的子事件;步骤:1)、写一个监听器(Appli...

2020-03-26 20:59:58 364

原创 Spring注解开发——40、BeanDefinitionRegistryPostProcessor

40、扩展原理-BeanDefinitionRegistryPostProcessorBeanDefinitionRegistryPostProcessor extends BeanFactoryPostProcessor postProcessBeanDefinitionRegistry(); 允许在常规BeanFactoryPostProcessor检测启动之前进一步的注册bean定义...

2020-03-25 22:01:52 184

原创 Spring注解开发——39、BeanFactoryPostProcessor

39、扩展原理-BeanFactoryPostProcessorBeanPostProcessor:bean后置处理器,bean创建对象初始化前后进行拦截工作的 BeanFactoryPostProcessor:beanFactory的后置处理器; 在BeanFactory标准初始化之后调用,来定制和修改BeanFactory的内容; 所有的bean定义已经保存加载到beanFactor...

2020-03-25 21:04:43 154

原创 JAVA基础-集合-18之 Iterator和Enumeration比较

第1部分 Iterator和Enumeration区别在Java集合中,我们通常都通过 “Iterator(迭代器)” 或 “Enumeration(枚举类)” 去遍历集合。今天,我们就一起学习一下它们之间到底有什么区别。我们先看看 Enumeration.java 和 Iterator.java的源码,再说它们的区别。Enumeration是一个接口,它的源码如下package...

2020-03-25 10:47:56 98

原创 Idea-jconsole使用idea

Idea的运行环境加上下面内容-Djava.rmi.server.hostname=127.0.0.1-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=11911-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremot...

2020-03-24 20:52:13 2388 1

原创 Spring注解开发——38、声明式事务-源码分析

总结:和AOP原理一样1、@EnableTransactionManagement利用TransactionManagementConfigurationSelector给容器中会导入组件导入两个组件AutoProxyRegistrar ProxyTransactionManagementConfiguration2、AutoProxyRegistrar给容器中注册一个 I...

2020-03-24 19:25:37 122

原创 Spring注解开发——37、声明式事务-测试成功

37 声明式事务-测试成功1、想实现申明式事务必须要以下几步:1) 在配置类上边标注@EnableTransactionManagement开启申明式事务 2) 在配置文件中必须要注册PlatformTransactionManager的事务管理器 3) 在需要事务处理的方法上加上@Transactional注解package com.suirui.springanno.tx.co...

2020-03-24 17:54:46 635

原创 Spring注解开发——36、声明式事务-环境搭建

36、声明式事务-环境搭建1、导入相关依赖数据源、数据库驱动、Spring jdbc模块注意:mysql的驱动要和mysql版本对应。<dependencies> <dependency> <groupId>org.springframework</groupId> &l...

2020-03-24 17:39:25 107

原创 Spring注解开发——实现Spring AOP 注解驱动的原理总结

首先在配置类上标注@EnableAspectJAutoProxy注解,开启AOP功能 @EnableAspectJAutoProxy 会给容器中注册一个组件 AnnotationAwareAspectJAutoProxyCreator AnnotationAwareAspectJAutoProxyCreator是一个后置处理器 容器的创建流程: registerBeanPostProces...

2020-03-24 16:57:47 144

原创 Spring注解开发——28-35 Aop原理

Aop原理:(spring原理都是看给容器注册了什么组件,这个组件什么时候工作,功能是什么)1、@EnableAspectJAuoProxy:给容器中注册了 internalAutoProxyCreator=AnnotationAwareAspectJAutoProxyCreator的组件。2、AnnotationAwareAspectJAutoProxyCreator...

2020-03-23 14:53:05 463

原创 Spring注解开发——27、AOP-AOP功能测试

27、AOP-AOP功能测试AOP : 【动态代理】指程序运行期间动态的将某段代码切入到制定方法位置进行运行的编程方式。导入AOP模块:Spring AOP(spring-aspects) 定义一个业务逻辑类(Mathcalculator);在业务逻辑运行的时候将日志进行打印(方法之前、方法运行之后等) 定义一个日志切面类(LogAspects):切面类里面的方法需要动态感知MathC...

2020-03-22 17:49:21 507

原创 Spring注解开发—— 26、IOC-小结

无内容

2020-03-22 17:10:27 98

原创 Spring注解开发——25、自动装配-@Profile根据环境注册bean

目录25、自动装配-@Profile根据环境注册bean25.1切换环境-使用命令行动态参数25.3 切换环境-使用代码的方式步骤25、自动装配-@Profile根据环境注册bean指定组件在哪个环境的情况下才能被注册到容器中 加了环境标识的,只有这个环境被激活才能注册到组件中切换环境-使用命令行动态参数: -Dspring.profiles.active=...

2020-03-22 17:04:22 216

原创 Spring注解开发——24、自动装配-@Profile环境搭建--读取property文件的三种方法

目录24、自动装配-@Profile环境搭建24.1 添加 数据源和jdbc驱动 pom 依赖实例:24、自动装配-@Profile环境搭建Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能。 实际应用:开发环境、测试环境、正式环境 数据源切换读取property文件的两种方法@Value 放到属性上 @Value 放到方法参数上 通过awar...

2020-03-22 16:47:43 247

原创 Spring注解开发——23、自动装配-Aware注入Spring底层组件&原理

23、自动装配-Aware注入Spring底层组件&原理Aware 接口,提供了类似回调函数的功能 自定义组件想要使用Spring 容器底层的一些组件(ApplicationContext,BeanFactory);自定义组件需要实现xxxAware接口;在创建对象的时候,会调用接口规定的方法注入相关组件package org.springframework.beans.fact...

2020-03-22 16:02:33 222

原创 Spring注解开发——22、自动装配-方法、构造器位置的自动装配

22.1@Autowired标注在方法上标注在方法上,Spring容器创建当前对象,就会调用方法,完成赋值 方法使用的参数,自定义类型的值从IOC容器中获取package com.suirui.springanno.autowiredDemo.entity;import org.springframework.stereotype.Component;@Componentp...

2020-03-22 12:01:20 224

原创 Spring注解开发——21、自动装配-@Resource&@Inject

21、自动装配-@Resource&@InjectSpring 还支持使用@Resource(JSR250)和@Inject(JSR330)[Java规范的注解] AutowiredAnnotationBeanPostProcessor完成解析自动装配功能21.1 @Resource可以和@Autowired一样实现自动注入功能,默认是按照组件名称进行装配的。 没有能支持@...

2020-03-22 11:25:46 141

原创 Spring注解开发——20、自动装配(类赋值)-@Autowired&@Qualifier&@Primary

20、自动装配(类赋值)-@Autowired&@Qualifier&@Primary自动装配:Spring 利用依赖注入(DI),完成对IOC容器中各个依赖关系赋值20.1 @Autowired :自动注入默认情况优先按照类型去容器中找对应的组件,applicationContext.getBean(BookRepository.class),找到就赋值。 如果找到...

2020-03-22 11:19:37 227

原创 Spring注解开发——19、属性赋值-@PropertySource加载外部配置文件

19、属性赋值-@PropertySource加载外部配置文件加载外部配置文件的注解19.1 【xml】在原先的xml 中需要 导入context:property-placeholder 声明,然后使用${nickName}取值<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.sprin...

2020-03-22 10:31:37 446

原创 Spring注解开发——18、属性赋值-@Value赋值

18、属性赋值-@Value赋值18.1 使用@Value赋值三种方式基本数值 可以写SPEL 表达式,例如: #{} 可以写${} ,取出配置文件中的值(在运行环境变量里面的值)18.2使用基本数值和SPEL表达式package com.suirui.springanno.propertyValues.entity;import org.springframework....

2020-03-22 10:20:00 399

原创 Spring注解开发——17、生命周期-BeanPostProcessor在Spring底层的使用

bean赋值、注入其他组件、@Autowired注解、生命周期注解、@Async ……都是 BeanPostProcessor实现的

2020-03-19 22:06:48 130

原创 Spring注解开发——16、生命周期-BeanPostProcessor原理

16.1 打断点运行postProcessBeforeInitialization

2020-03-19 21:40:42 133

原创 Spring注解开发——15、生命周期-BeanPostProcessor-后置处理器

15、生命周期-BeanPostProcessor-后置处理器BeanPostProcessor 接口package org.springframework.beans.factory.config;import org.springframework.beans.BeansException;import org.springframework.lang.Nullable;pu...

2020-03-19 21:25:07 140

原创 Spring注解开发——14、生命周期-@PostConstruct&@PreDestroy

14、生命周期-@PostConstruct&@PreDestroy@PostConstruct 在Bean创建完并且属性值赋值完执行package javax.annotation;import java.lang.annotation.*;import static java.lang.annotation.ElementType.*;import static jav...

2020-03-19 21:13:18 222

原创 Spring注解开发——13、生命周期-InitializingBean和DisposableBean

InitializingBean接口package org.springframework.beans.factory;public interface InitializingBean { // 当BeanFactory创建完对象,并且设置完属性之后调用 = init void afterPropertiesSet() throws Exception;}Dispo...

2020-03-19 21:06:48 161

原创 Spring注解开发——12、生命周期-@Bean指定初始化和销毁方法

12、生命周期-@Bean指定初始化和销毁方法Bean的生命周期:创建-》初始化-》销毁 容器管理bean的生命周期 我们可以自定义初始方法和销毁方法,容器在bean进行到当期那生命周期的时候调用我们自定的方法 构造(对象创建): 单实例:在容器启动的时候创建 多实例:在实例被每次调用的时候创建对象 初始化:对象创建完成并赋值好,调用初始化方法 销毁: 单实例:在容器关闭...

2020-03-19 20:26:56 209

原创 Spring注解开发——11、组件注册-使用FactoryBean注册组件

11、组件注册-使用FactoryBean注册组件package org.springframework.beans.factory;import org.springframework.lang.Nullable;public interface FactoryBean<T> { @Nullable T getObject() throws Excep...

2020-03-19 09:33:56 137

原创 Spring注解开发——10、组件注册-@Import-使用ImportBeanDefinitionRegistrar

10、组件注册-@Import-使用ImportBeanDefinitionRegistrarpublic interface ImportBeanDefinitionRegistrar { /** * Register bean definitions as necessary based on the given annotation metadata of ...

2020-03-19 09:33:44 136

原创 Spring注解开发——9.@Import-使用ImportSelector

9.1 @Import 源码@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Import { /** * {@link Configuration}, {@link ImportSelector}, {@link ImportBeanDe...

2020-03-19 09:33:30 321

原创 Spring注解开发——8、组件注册-@Import-给容器中快速导入一个组件

8.1 给容器中注册组建的方式共四种1、包扫描+组建标注注解(@Controller、@Service、@Repository、@Component)【有局限,不是自己写的就无法注入】2、@Bean【导入第三方包里面的组件】3、@Import【快速的给容器中导入一个组件】@Import({要导入到容器中的组件})// 快速导入组建,ID 默认是全路径包名 @Import使用I...

2020-03-19 09:33:06 141 1

原创 Spring注解开发——7、组件注册-@Conditional-按照条件注册bean

@Conditional 按照一定的条件进行判断,满足条件给容器注入bean按照条件进行动态装配。Spring 4 开始提供的一个注解,Spring Boot底层大量运用此注解。@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @...

2020-03-18 20:47:54 154

原创 Spring注解开发—— 6、组件注册-@Lazy-bean懒加载

6、组件注册-@Lazy-bean懒加载 懒加载:单实例bean,默认是在容器启动的时候创建对象;懒加载就是启动的是不创建,在第一次使用的时候再创建对象。 @Lazy // 单实例下懒加载bean ...

2020-03-18 20:24:37 140

原创 Spring注解开发—— 5、组件注册-@Scope-设置组件作用域

5、组件注册-@Scope-设置组件作用域IOC容器默认都是单实例的package com.suirui.springanno.config;import com.suirui.springanno.entity.Person;import org.springframework.context.annotation.*;@Configuration //告诉Spring这是...

2020-03-18 20:19:55 164

原创 Spring注解开发—— 4、组件注册-自定义TypeFilter指定过滤规则 4、组件注册-自定义TypeFilter指定过滤规则

4.1 FilterType.ANNOTATION 按照注解方式package com.suirui.springanno.config;import com.suirui.springanno.entity.Person;import org.springframework.context.annotation.*;import org.springframework.ster...

2020-03-18 20:11:46 683

原创 Spring注解开发——3、组件注册-@ComponentScan-自动扫描组件&指定扫描规则

3.1 xml方式 benas.xml 导入context命名空间<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan...

2020-03-18 19:58:45 224

原创 Spring注解开发——2、组件注册-@Configuration&@Bean给容器中注册组件

1、xml方式 注册Bean1 、新建 Pension.java 实体类package com.suirui.springanno.entity;public class Person { public Person() { } String name; int age; public String getName() { ...

2020-03-18 19:27:53 167

原创 Spring注解开发——1、课程介绍

2020-03-18 18:52:04 138

原创 JAVA基础-集合-17.TreeSet

第1部分 TreeSet介绍TreeSet简介TreeSet 是一个有序的集合,它的作用是提供有序的Set集合。它继承于AbstractSet抽象类,实现了NavigableSet<E>, Cloneable, java.io.Serializable接口。TreeSet 继承于AbstractSet,所以它是一个Set集合,具有Set的属性和方法。TreeSet 实现了N...

2020-03-18 10:36:52 643

原创 JAVA基础-集合-16.HashSet

第1部分 HashSet介绍HashSet 简介HashSet 是一个没有重复元素的集合。它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用 null 元素。HashSet是非同步的。如果多个线程同时访问一个哈希 set,而其中至少一个线程修改了该 set,那么它必须 保持外部同步。这通常是通过对自然封装该 set 的对象执行同步操作来完成的。如果不存在这样的对象...

2020-03-18 10:28:31 94

Spring源码解析.zip

spring源码解析。使用xmind进行代码整理。包含ioc,aop,tr相关代码部分。

2020-07-31

Spring-quartz.zip

Spring动态任务与静态任务调用实例 静态任务直接使用了spring进行的管理 利用了aware与FactoryBean的思想 动态任务仍然使用quartz,使用Scheduler进行任务管理

2020-06-03

SSO单点登录数据库设计,上一个文件忘记上传数据库设计。本次上传加上

SSO单点登录数据库设计,上一个文件忘记上传数据库设计。本次上传加上

2020-05-25

单点登录: 仿CAS sso.zip

单点登录: 仿CAS。实现了单点登录功能。访问 http://localhost:8090/ssoClient/index/index 或者 http://localhost:8090/ssoClient/login 进行登录 登录成功后会跳转到 http://localhost:8090/ssoClient/index/index。 然后再访问 http://localhost:8070/ssoClient2/index/index 进行测试是时候可以直接登录。

2020-05-14

jedis.zip——java开发redis的工具类

java开发redis的工具类。适合的redis结构为主从分区(16分区),并不适合redis_cluster

2020-03-06

netty学习文件,实现http,websocket,protobuf

netty学习文件,实现http,websocket,protobuf方式,实现服务器与客户端通信。

2020-01-10

HttpClientUtils.java

http请求转发,包含get,post,postform,postjson,以及最重要的formdata的转发

2019-09-05

Labview 同步

无论你是在使用一个数据采集设备中的不同的子系统,还是在高通道数的系统中需要同步多个数据采集设备,NI的LabVIEW 2010都可以将数据采集和生成的同步问题变得简单。

2017-09-25

空空如也

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

TA关注的人

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