IV XXSC-10
组件注解
- 启动类所在的根包为product,启动类中的注解
SpringBootApplication
中元注解@ComponentScan
会默认扫描product的包及所有子包,如果这些包中的类加了组件注解,加了组件注解的,spring会为你创建对象
- 一种组件,一种数据,作用相同,为的是便于区分
单例模式
- 静态方法不能访问非静态成员,如下成员要用static修饰,加了static修饰后,变量就会常驻内存,直到程序走完才会释放
- 单例模式分为饿汉式[预加载]和懒汉式[懒加载],因为创建时机不同,这样涉及作用域问题
- spring默认采用单例模式,比如1111服务器本来就很忙,还要去创建对象,这样会加大服务器开销
自动装配机制
Spring自动装配机制表现为:当Spring管理的类需要被自动赋值,或者Spring调用的方法的参数需要值时,Spring会自动从容器中找到何时的值,为属性/参数自动赋值.
当类的属性需要值时,可以在属性上加@Autowired注解,否则会报空指针异常
可以通过构造方法,如果是单个构造方法,是不需要加@Autowired注解的
多个构造方法需要加注解,表示指定某个构造方法,否则启动会报错误
![在这里插入图片描述](https://img-blog.csdnimg.cn/10d28cc66a39406280a47f485bf69b67.png无参和有参构造方法同时存在时,加载无参构造
开发工具建议使用构造方法注入,建议不要使用@Autowired,学术上构造方法注入,实际中不使用
组件扫描后,有组件注解的类才会被创建
错误建议及时报出来,建议required=true
组件扫描的两种方式
方式1:Spring Bean
- 每个Spring Bean都有一个名称,默认等于方法的名称,也可以指定名称
方式2:组件扫描 - 默认将类名首字母改为小写,此规则只适用于类名中第1个字母大写、第2个字母小写的情况,如果不符合此情况,则Bean Name就是类名
- 如果有两个实现类默认会报错
- 通过@service(“xxx”) 指定哪个实现类
- 名称冲突的三种解决方式:1 改变量名 2改bean名称 3qualifier
- 匹配规则:先按照类型找数量再匹配名称
- javax中的@Resource 后Spring造了@Autowired 开发工具给报错,这两个注解都能实现自动装配,只能加在属性,即为全局变量上
- @Autowired和@Resource区别:1.@Resource和@Autowired添加的位置不同 2.先匹配名字再匹配类型
依赖注入和控制反转
- DI是手段,IoC是结果
- IoC就是把手动创建对象交由Spring,即控制权交给Spring
设计展示页面
- 设计表格时,至少一列不给宽度 用于匹配100%(取决于显示器和浏览器窗口给的宽度,都不指定,就是等宽
- align=center 表头和数据文字居中
- 先created,然后再mounted(更贴近准备就绪,执行时间稍晚),建议使用mounted,加载高清大图时,区别更加明显
IV XXSC-10相关推荐
- 分计算iv值_机器学习-变量筛选之IV值和WOE
1.IV值的用途 IV,即信息价值(Information Value),也称信息量. 目前还只是在对LR建模时用到过这两个关键指标,当我们使用决策树时可以通过限制树的深度间接筛选掉一些对于当前任务贡 ...
- 如何在自动驾驶的视觉感知中检测极端情况?
作者丨黄浴 来源丨 计算机视觉深度学习和自动驾驶 一篇来自德国大学的论文:"Corner Cases for Visual Perception in Automated Driving: ...
- 函数或变量 rtenslearn_c 无法识别_Stata:过度识别检验一文读懂
冀云阳 (广东财经大学,Dufejyy@163.com) 贺 旭 (中央财经大学) ? 连享会主页:lianxh.cn Stata 暑期班:9天直播 ? 时间:2020.7.28-8.7 ? 嘉宾 ...
- TabHost.TabSpec中的标签实现图文左右排(默认上下排)
TabHost.TabSpec 代码如下: Xml代码 <?xml version="1.0" encoding="utf-8"?> <F ...
- Android应用开发:动画和Fragment
帧动画FrameAnimation 多张图片快速切换,形成动画效果 帧动画使用xml定义 frame动画是放置到res/drawable/下面,在这里定义要显示的图片和每张图片的显示时长 <an ...
- stl-vector详解
stl-vector详解 stl-vector是应用最广泛的一种容器,类似于array,都将数据存储于连续空间中,支持随机访问.相对于array,vector对空间应用十分方便.高效,迭代器使vect ...
- LtScrollImageView:自动滚动的广告图片展示栏
效果展示: 使用: 方式(一):远程仓库引用方式: 在根项目的build.gradle文件中加入: allprojects {repositories { ...maven { url 'https: ...
- Android 动画机制与使用技巧
动画效果一直是人机交互中非常重要的部分,与死板.突兀的显示效果不同,动画效果的加入,让交互变得更加友好,特别是在提示.引导类的场景中,合理地使用动画能让用户获得更加愉悦的使用体验 一.Android ...
- [C++ STL] 常用算法总结
1 概述 STL算法部分主要由头文件<algorithm>,<numeric>,<functional>组成.要使用 STL中的算法函数必须包含头文件<alg ...
- 用python进行营销分析_用python进行covid 19分析
用python进行营销分析 Python is a highly powerful general purpose programming language which can be easily l ...
最新文章
- 结构体成员的引用方法
- 《数学之美》第20章 不要把鸡蛋都放到一个篮子里--谈谈最大熵模型
- Sql server中时间函数用法详解
- php程序设计依赖注入_PHP控制反转和依赖注入
- C++ - 模板函数须要类型转换时使用友元(friend)模板函数
- java核心面试_不正确的核心Java面试答案
- 文件管理系统_Python学习第170节--Linux文件管理系统实际操作和具体介绍
- 还是有点香!苹果官翻2018款iPad Pro及MacBook Air上架
- 洛谷 P1313 计算系数 —— 水题
- c++画函数图像_二次函数图像与系数a,b,c的关系
- [译] ASP.NET 生命周期 – ASP.NET 上下文对象(七)
- CSDN博客代码高亮显示
- 【零基础 快速学Java】韩顺平 笔记整理(到p170 跑路了)
- Kaggle学习笔记--XGBoost
- 挑战:工资计算器读写数据文件
- 闲谈Python语言入门
- Soul app产品分析报告
- Hive之——Hive2.0函数大全
- PS制作简单可爱马赛克像素画效果
- cgcs2000大地坐标系地图_我国大地坐标系_地图与地图制图