spring 特性
1.Aware系列接口
spring 6.0提供了一系列的Aware接口,方便我们在Bean加载时获取信息
如
@Service
public class study implements BeanNameAware {
// spring实例化bean之后调用此方法
@Override
public void setBeanName(String name) {
System.out.println(name);
}
}
结果
study
2.Async异步任务
- Spring入口必须开启异步,添加@EnableAsync注解
- 必须被spring托管的bean
- 在方法上添加@Async注解
@EnableAsync
@SpringBootApplication
public class SpringSecurityTestApplication {
public static void main(String[] args) {
ApplicationContext run = SpringApplication.run(SpringSecurityTestApplication.class, args);
Study bean = run.getBean(Study.class);
System.out.println("main方法开始...");
bean.asyncText();
System.out.println("main方法结束...");
}
}
@Component()
public class Study {
@Async
public void asyncText() {
System.out.println("异步执行开始");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("异步执行结束");
}
}
结果
main方法开始...
main方法结束...
异步执行开始
异步执行结束
3.定时任务
- 在Spring入口添加@EnableScheduling注解
- 必须被Spring托管
- 在方法添加@Scheduled注解
@EnableScheduling
@SpringBootApplication
public class SpringSecurityTestApplication {
public static void main(String[] args) {
ApplicationContext run = SpringApplication.run(SpringSecurityTestApplication.class, args);
Study bean = run.getBean(Study.class);
System.out.println("main方法开始...");
bean.task();
System.out.println("main方法结束...");
}
}
@Component()
public class Study {
// fixdRate 固定毫秒执行,不管上次是否执行完毕
// fixedDelay 继上次执行后固定毫秒执行
// cron 自定义规则
@Scheduled(fixedRate = 2000)
public void task() {
System.out.println("我是定时任务"+ new Date());
}
}
结果
main方法开始...
我是定时任务Thu Feb 23 08:16:24 CST 2023
main方法结束...
我是定时任务Thu Feb 23 08:16:26 CST 2023
我是定时任务Thu Feb 23 08:16:28 CST 2023
我是定时任务Thu Feb 23 08:16:30 CST 2023
我是定时任务Thu Feb 23 08:16:32 CST 2023
我是定时任务Thu Feb 23 08:16:34 CST 2023
...
spring 特性的更多相关文章
- myeclipse 去掉spring特性支持
myeclipse10.0 去掉spring支持 手工修改工程目录下的.project文件中相关的内容 删除<nature>com.genuitec.eclipse.springfram ...
- 淘系工程师讲解的使用Spring特性优雅书写业务代码
使用Spring特性优雅书写业务代码 大家在日常业务开发工作中相信多多少少遇到过下面这样的几个场景: 当某一个特定事件或动作发生以后,需要执行很多联动动作,如果串行去执行的话太耗时,如果引入消息中 ...
- 👊 Spring技术原理系列(7)带你看看那些可能你还不知道的Spring特性技巧哦!
前提介绍 本文主要介绍相关Spring框架的一些新特性问题机制,包含了一些特定注解方面的认识. @Lazy可以延迟依赖注入 @Lazy注解修饰在类层面! @Lazy @Service public c ...
- Spring特性--DI
DI:Dependency Injection(依赖注入),通俗的讲就是一种通过xml配置文件,为交给sping容器的对象初始化参数.又称做控制反转:Inversion of Control(IoC) ...
- 在应用层通过spring特性解决数据库读写分离
如何配置mysql数据库的主从? 单机配置mysql主从:http://my.oschina.net/god/blog/496 常见的解决数据库读写分离有两种方案 1.应用层 http://neore ...
- spring各jar包作用(转载)
除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.jar的所有 ...
- Spring 框架的架包分析、功能作用、优点,及jar架包简介
Spring 框架的架包详解 Spring的作用 Spring的优势 由于刚搭建完一个MVC框架,决定分享一下我搭建过程中学习到的一些东西.我觉得不管你是个初级程序员还是高级程序员抑或 ...
- Spring MVC 框架的架包分析,功能作用,优点
由于刚搭建完一个MVC框架,决定分享一下我搭建过程中学习到的一些东西.我觉得不管你是个初级程序员还是高级程序员抑或是软件架构师,在学习和了解一个框架的时候,首先都应该知道的是这个框架的原理和与其有关j ...
- Spring各jar包的作用
spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-m ...
- spring相关jar包的含义
spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-m ...
随机推荐
- 从0到1学Python丨图像平滑方法的两种非线性滤波:中值滤波、双边滤波
摘要:常用于消除噪声的图像平滑方法包括三种线性滤波(均值滤波.方框滤波.高斯滤波)和两种非线性滤波(中值滤波.双边滤波),本文将详细讲解两种非线性滤波方法. 本文分享自华为云社区<[Python ...
- 论文解读丨【CVPR 2022】不使用人工标注提升文字识别器性能
摘要:本文提出了一种针对文字识别的半监督方法.区别于常见的半监督方法,本文的针对文字识别这类序列识别问题做出了特定的设计. 本文分享自华为云社区<[CVPR 2022] 不使用人工标注提升文字识 ...
- kali开启ssh并开机自启
安装和启用SSH Kali默认是没有安装ssh和启用ssh的 我们需要先安装:apt install ssh 然后vim /etc/ssh/sshd_config (如果不需要启用Root登陆可以跳过 ...
- [cocos2d-x]关于定时器
什么是定时器 定时器的作用就是每隔一段时间,就执行一段自定义的动作,比如飞机向前方移动,子弹的移动等等.该函数定义在CCNode头文件中,基本上cocos2dx中所有的东西都能够使用定时器. 定时器的 ...
- 虚拟化技术浅析第二弹之初识Kubernetes
作者:京东物流 杨建民 一.微服务架构起源 单体架构:可以理解为主要业务逻辑模块(我们编写的代码模块,不包括独立的中间件)运行在一个进程中的应用,最典型的是运行在一个Tomcat容器中,位于一个进程里 ...
- 自动化运维:使用Maven与Docker运行Selenium测试
在这篇文章中,我们将向您展示如何创建交付流水线并实现以下目标: 使用Web应用程序构建Docker镜像 在Docker容器中运行该应用程序 从不同的容器中使用Maven运行Selenium测试 出于本 ...
- 11月29日内容总结——SQL注入问题、视图、触发器、事务、存储过程、函数、流程控制、索引、慢查询、数据库三大范式
目录 一.SQL注入问题 SQL注入问题引入 SQL注入概念和解决方案 二.视图 三.触发器 定义 代码 1.触发器命名有一定的规律 2.临时修改SQL语句的结束符 四.事务 事务的四大特性(ACID ...
- 为什么 TCP 建立连接需要三次握手(转载)
为什么 TCP 建立连接需要三次握手(转载) 原文链接:https://draveness.me/whys-the-design-tcp-three-way-handshake/ TCP 协议是我们几 ...
- Python第三方库arrow
Python第三方库arrow https://pypi.org/project/arrow/ 简介 处理时间日期的一个第三方库 Arrow is a Python library that offe ...
- 导出excel类型转换
Map headmap = new LinkedHashMap<String, String>(); headmap.put("createtime", "日 ...