springboot实战第三章

springboot实战第三章

springboot第三章小计

本章是spring的高级话题,涉及到内部和原理,但是例子比较简单。

1.spring aware

Spring依赖注入的最大亮点是所有的Bean对Spring容器的存在是没有意识的,可以将容器换成别的容器,但在实际项目中,不可避免用到Spring容器本身的功能资源,这时Bean必须意识到Spring容器的存在,才能调用Spring所提供的资源,这就是所谓的Spring Aware
一旦使用了它,Bean将会和Spring框架耦合。
spring提供了很多aware接口
* BeanNameAware
* BeanFactoryAware
* ApplicationContextAware 可以获得spring容器的所有服务
* MessageSourceAware
* ApplicationEventPublisherAware
* ResourceLoaderAware

2.spring多线程

Spring通过任务执行器(TaskExecutor)来实现多线程和并发编程。
配置类中,通过@EnableAsync 开启异步任务支持,
配置异步,通过实现AsyncConfigurer接口并重写getAsyncExecutor方法,并返回ThreadPoolTaskExecutor,这样就获得了一个基于线程池的TaskExecutor,在方法上@Async表明是个异步方法

3.计划任务

通过@Scheduled支持多种类型的计划任务,包括cron,fixDelay,fixRate等。
通过@EnableScheduling开启对计划任务的支持

4.条件注解@Conditional

Conditional 注解根据满足某一个特定条件创建一个特定的bean。

5.组合注解和元注解

6.enable*注解

开启一项功能的支持,避免自己配置大量的代码

7.测试

Spring通过Spring TestContext Framework对集成测试提供顶级支持。
Spring提供了一个SpringJUnit4ClassRunner类。
通过@ContextConfiguration来配置ApplicationContext,通过@ActiveProfiles确定活动的Profile
注意:在Maven中增加Spring测试的依赖包注意版本号,本次示例代码中spring-test版本原本为2.2.4,后来报错某个方法找不到,换了4.1.6的版本就可以了。

这部分的代码在:https://gitee.com/yuanhan93/learn_spring4 

找到ch3目录,就是本期内容

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100315.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MultipartFile.transferTo()遇见的问题记录

    MultipartFile.transferTo()遇见的问题记录环境 Springboot2 0 4 JDK8 表单 enctype 和 input 的 type file 即可 例子使用单文件上传 formenctype multipart form data method POST action file fileUpload 图片 formenctype multipart

    2025年11月16日
    2
  • 清博舆情系统_什么是舆情

    清博舆情系统_什么是舆情1. 引言1.1 编写目的  编写此文档的目的是确认微博舆情分析系统的基本架构,指导系统的基本架构。1.2 项目信息项目名称:舆情分析系统项目提出者:指导教师开发者:东北大学软件学院大数据班T09实训项目组(lzf、lcx)用户:舆情分析员、系统管理员1.3 项目背景  互联网的飞速发展促进了很多新媒体的发展,不论是知名的大V,明星还是围观群众都可以通过手机在微博,朋友圈或者点评网站上发表状态,分享自己的所见所想,使得“人人都有了麦克风”。不论是热点新闻还是娱乐八卦,传播速度远超我们

    2022年9月20日
    2
  • java集合介绍_arraylist原理

    java集合介绍_arraylist原理概述ArrayList是List接口下一个基于可扩展数组的实现类,它和它的兄弟类Vector有着一样的继承关系,也都能随机访问,但是不同的是不能保证线程安全。这是关于java集合类源

    2022年8月16日
    5
  • IE10/IE11兼容视图设置方法_ie浏览器兼容性视图设置

    IE10/IE11兼容视图设置方法_ie浏览器兼容性视图设置如何设置ie11浏览器兼容性视图?ie浏览器是系统自带的浏览器,由于兼容性问题不受欢迎。接下来小编就给大家介绍一下如何设置ie11浏览器兼容性视图。具体如下:1.首先第一步打开电脑中的【ie浏览器】。2.第二步进入浏览器首页后,根据下图所示,点击页面右上方的齿轮图标。3.第三步在弹出的菜单栏中,根据下图所示,点击【兼容性视图设置】选项。4.第四步进入【兼容性视图设置】页面后,根据下图所示,…

    2025年8月29日
    4
  • 【致远FAQ】致远OA宕机之Tomcat异常宕机

    【致远FAQ】致远OA宕机之Tomcat异常宕机问题描述tomcat进程已经不在; 由于在启动命令行参数中增加了相关的日志监控,重点查找JVM内存溢出、jvm的crash的日志进行问题定位; 没有.hprof文件生成【基本可以推论没有出现JVM内存溢出】 没有hs_err_xxx.log文件生成【基本可以推论JVM没有出现严重的crash异常】问题分析1)通过catalina.log看出tomcat出现了非正常关闭操作下的停机;如果是正常停机会在输出图1的日志前输出如图2所示的内容2)tomcat停机的时..

    2022年7月23日
    12
  • ubuntu18.04 LTS安装ROS图文教程「建议收藏」

    ubuntu18.04 LTS安装ROS图文教程「建议收藏」没有安装Ubuntu18.04LTS的自行安装,安装过程祥见我的另一篇文章,地址如下https://blog.csdn.net/u014453443/article/details/88049804下面开始记录ubuntu18.04LTS安装ROS的详细图文教程…

    2025年10月20日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号