
spring
日薪灬越亿
这个作者很懒,什么都没留下…
展开
-
Quartz修改定时任务时间,无须重启服务
quartz通过动态设置读取配置文件,有时排查问题需要重新执行定时任务,因为重启一次服务器所需的成本太多。这时,就需要我们仅仅修改数据库就能实现动态的更新定时任务的定时时间。但仅仅修改表qrtz_cron_triggers对应cronExpression并不能生效,原因在于表qrtz_triggers中的所有时间相关的值并没有变动。1.更改表qrtz_cron_triggers的cronExpression(定时任务时间)例子:update QRTZ_CRON_TRIGGERS set原创 2020-11-09 14:27:33 · 3423 阅读 · 4 评论 -
Spring源码分析之大结局-手写springmvc
1.创建一个maven工程,并生成web工程pom文件如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0...原创 2019-06-13 16:20:34 · 254 阅读 · 0 评论 -
Spring源码分析(十二) - Aop基础
AOP: 面向切面编程[底层就是动态代理]指程序在运行期间动态的将某段代码切入到指定方法位置进行运行的编程方式先建立Cap10MainConfigAop配置类在POM.XML中导入spring-aspects依赖包新建立一个业务逻辑类Calculator.javapackage com.caojiulu.cap10.aop;//业务逻辑类public class...原创 2019-06-05 16:19:06 · 163 阅读 · 0 评论 -
Spring源码分析(十一) - Aware注入spring底层组件原理
问题:自定义组件想要使用Spring容器底层的组件(ApplicationContext, BeanFactory)等自定义组件实现xxxAware, 在创建对象的时候, 会调用接口规定的方法注入到相关组件:Aware先来看一段代码:CTRL+SHIFT+T 找到Aware使用ApplicationContextAware接口为例, 实现接口1, 新建Light...原创 2019-06-05 11:46:02 · 295 阅读 · 0 评论 -
Spring源码分析(十) - 注解@Autowired @Resource @Qualifier @Primary @Inject自动装配
注解@Autowired自动装配自动装配:spring利用依赖注入(DI), 完成对IOC容器中的各个组件的依赖关系赋值1,新建TestController.java TestService.java TestDao; 分别建在指定的包内,可看步骤2.这些所有JAVA 类的对象扫描后都是保存在IOC容器中管理的; 2,新建配置类Cap9MainConfig.jav...原创 2019-05-19 22:55:32 · 328 阅读 · 0 评论 -
Spring源码分析(九) - 注解@Value赋值
注解@Value赋值的作用是给IOC容器中的bean赋值用的。1, 新建Bird.java类2,新建Cap8MainConfig.java配置类3,新建测试用例Cap8Test.java, 从容器获取bean并打印打印结果如下: 主要是没设值4,以前使用bean.xml配置文件进行赋值5,使用@Value赋值如何赋值呢?见下6,从配置文件[pro...转载 2019-05-19 22:45:21 · 1338 阅读 · 5 评论 -
Spring源码分析(八) - Spring底层对BeanPostProcessor的使用
Spring底层对BeanPostProcessor的使用1,ApplicationContextAwareProcessor实现分析:此类帮我们组建IOC容器,跟进ApplicationContextAwareProcessor我们发现, 这个后置处理器其实就是判断我们的bean有没有实现ApplicationContextAware接口,并处理相应的逻辑,其实所有的后置处理器原...原创 2019-05-19 22:35:13 · 729 阅读 · 0 评论 -
Spring源码分析(七) - bean的生命周期
bean的生命周期:指 bean创建-----初始化----销毁 的过程bean的生命周期是由容器进行管理的我们可以自定义 bean初始化和销毁 方法: 容器在bean进行到当前生命周期的时候, 来调用自定义的初始化和销毁方法如何定义和销毁(4种方式):1)指定初始化和销毁方法 <之前在beanx.xml, 可以指定init-method和destory-mot...原创 2019-05-19 22:25:06 · 414 阅读 · 0 评论 -
Spring源码分析(六)-注解Import注册bean
一般来说,向容器中注册组件有下面几种方式1.包扫描和组件标注注解(@Controller @Service @Repository @Component),一般针对我们自己写的类2.@Bean【导入第三方和包的组件,比如前面的person类,需要在IOC容器中使用】3.使用@Import【快速给容器导入一个组件】注:bean有点简单,构造一个无参或有参的bean a,@Imp...原创 2019-05-19 22:07:07 · 363 阅读 · 0 评论 -
Spring源码分析(五)-注解@Conditional条件注册bean
Conditional条件注册bean假设有这么一个场景,需要根据操作系统加载不同的实例将IOC容器注册bean时, 当操作系统为WINDOWS时,注册caojiulu实例; 当操作系统为LINUX时, 注册hujinxiao实例,此时要用得@Conditional注解进行定制化条件选择注册bean新建Cap5MainConfig.javapackage com.caojiulu...原创 2019-05-14 16:22:31 · 181 阅读 · 0 评论 -
Spring源码分析(四)-注解lazy懒加载
lazy 懒加载,主要针对单实例bean,容器启动时候不创建对象,仅当第一次使用的bean才创建新建Cap4MainConfig.javapackage com.caojiulu.cap4;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation....原创 2019-05-14 16:00:06 · 795 阅读 · 1 评论 -
Spring源码分析(三)-注解scope
scope用来表示bean在ioc容器中的作用范围新建Cap3MainConfig.javapackage com.caojiulu.cap3.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;i...原创 2019-05-14 15:47:19 · 318 阅读 · 0 评论 -
Spring源码分析(二)-注解ComponentScan
ComponentScan的作用:指定要扫描的包直接用代码说话吧!操作:新建cap2文件夹,新建Cap2MainConfig.java配置类1,@ComponentScan(value="com.caojiulu.cap2")表示扫描此目录下的包测试:新建Cap2MainConfig2配置类新建dao, service,controller在Cap2MainCo...原创 2019-05-14 15:16:09 · 174 阅读 · 0 评论 -
Spring源码分析(一)-spring的基本认识以及xml 注解基本使用
Spring是什么?Spring是一种开源轻量级框架,是为了解决企业应用程序开发复杂性而创建的,Spring致力于解决JavaEE的各层解决方案,而不仅仅于某一层的方案。Spring发展历程2003年2月Spring框架正式称为一道开源项目,Spring致力于J2EE应用的各种解决方案,而不仅仅专注于某一层解决方案。可以说Spring是企业应用开发的“一站式”选择, Spring贯穿于...原创 2019-05-14 15:08:01 · 216 阅读 · 0 评论