手机网站如何做推广怎么做才可以赚钱

张小明 2026/1/10 7:01:06
手机网站如何做,推广怎么做才可以赚钱,东莞哪家做网站很有名的公司,三丰云免费虚拟主机IOC在Spring当中被称之为控制反转#xff0c;可以说是java生态当中的一个非常重要的底层思维#xff0c;而控制反转这一思想能大大帮助程序解耦#xff0c;而依赖注入也就是DI是实现IOC的一种手段#xff0c;帮助java完成这样的一套思维逻辑#xff0c;因此这两点在面试当…IOC在Spring当中被称之为控制反转可以说是java生态当中的一个非常重要的底层思维而控制反转这一思想能大大帮助程序解耦而依赖注入也就是DI是实现IOC的一种手段帮助java完成这样的一套思维逻辑因此这两点在面试当中不可谓不重要今天小编就和大家来详细聊一聊这一块内容希望大家能从中有所收获。1.IOC的概念IOC常常被称之为控制反转而控制指的就是控制对象的创建过程反转则反转的是对象的创建主体由程序员转变为容器。而在Spring当中我们的容器实际上就是一个单例工厂当中的一个个对象实际上就是bean我们不需要去真正的创建一个对象而是定义一个对象的创建过程而创建的权力我们就交给容器来负责。2.IOC有什么作用在Spring的工程启动之后我们的容器也就是单例工厂就会被初始化而在容器当中的bean对象就会被实例化。而这样我们就会发现通过这样一套机制我们bean对象的实例化由运行时期提前到了启动时期。而在这样的一套流程之下假设类与类出现了依赖或者其他的问题我们就能提早发现程序当中的问题并且解决问题。同时我们将创建对象的权力交给容器让容器帮助我们去实现创建但是假设创建对象的这个过程要交给程序员自己来进行管理我们每次使用一个对象都要去new一个新的对象这样就会造成大量的对象被创建在这样的情况之下就会频繁的触发GC的垃圾回收还可能出现OOM(内存溢出)的问题。而容器也可以帮助我们实现解耦而这样我们的单例对象bean就只依赖抽象的接口而我们只要将实体类注入到容器当中再让容器帮助我们进行依赖注入即可这样代码当中相互依赖的单例bean不需要new任何一个实现高层模块与低层模块没有直接的关联而是只依赖于底层模块对应的抽象接口这样就实现了最大程度上的解耦 。3.依赖注入DI依赖注入是一种设计模式是实现IOC的核心手段它的核心思想是对象不自己创建它所依赖的对象而是由外部注入进来。一般有三种注入方式分别是1,构造器注入依赖通过构造函数一次性传进来对象实例化后即为最终状态。天然支持final线程安全、不可变。单元测试时new即可无需容器。循环依赖会启动即报错。// ① 服务接口 public interface Engine { String start(); } // ② 服务实现 Service public class V8Engine implements Engine { public String start() { return V8 引擎轰鸣; } } // ③ 调用者 RestController RequestMapping(/car) public class CarController { private final Engine engine; // 1. 加 final 强制构造填充 public CarController(Engine engine) { // 2. 只有一个构造器Spring 自动注入 this.engine engine; } GetMapping(/run) public String run() { return engine.start(); } }2.Setter注入通过setter方法把依赖“塞”进去运行期可更换。对象可变多线程环境下需自己保证同步。测试时必须手动调用 setter。因允许为空IDE 无法静态提示缺失依赖。// ① 服务接口 public interface Battery { String level(); } // ② 服务实现 Service public class LiBattery implements Battery { public String level() { return 锂电池电量 88%; } } // ③ 调用者 RestController RequestMapping(/bike) public class BikeController { private Battery battery; // 1. 非 final可变的 Autowired // 2. 写在 setter 上更直观 public void setBattery(Battery battery) { this.battery battery; } GetMapping(/power) public String power() { return battery.level(); } }3.字段注入直接在字段上加AutowiredSpring 通过反射赋值代码量最少。无法使用final也不能在构造函数里做校验。单元测试必须启动 Spring 容器或使用反射工具。循环依赖时 Spring 会悄悄生成代理把设计问题拖到运行时。// ① 服务接口 public interface Motor { String spin(); } // ② 服务实现 Service public class BrushlessMotor implements Motor { public String spin() { return 无刷电机静音旋转; } } // ③ 调用者 RestController RequestMapping(/scooter) public class ScooterController { Autowired // 1. 直接打在字段上省代码 private Motor motor; // 2. 没有 setter/构造器痕迹 GetMapping(/go) public String go() { return motor.spin(); } }在这里我们并不太推荐基于字段注入更推荐构造器注入虽然基于字段注入的代码简洁方便但会出现不能注入final修饰空指针异常等等问题。今天的分享就到这里了希望这篇博客能给你一些帮助让你对关于IOC和依赖注入的问题得到进一步的提升在面试的时候能从容面对面试官。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

直接用apk 做登陆网站郑州男科医院排名哪家医院好

CMATH终极指南:如何评估语言模型的中文数学能力 【免费下载链接】cmath CMATH: Can your language model pass Chinese elementary school math test? 项目地址: https://gitcode.com/gh_mirrors/cm/cmath CMATH项目是一个专门用于评估语言模型在中文小学数…

张小明 2026/1/10 1:36:04 网站建设

建设部网站核对编号个人做电子商务网站备案

从零开始打造智能家居:Arduino开发环境搭建与实战入门 你是否曾想过,只需一块小小的开发板、几根杜邦线,就能让家里的灯光自动感应明暗,风扇根据室温智能启停?这并非遥不可及的黑科技——借助 Arduino ,这…

张小明 2026/1/10 6:58:34 网站建设

网站域名是网站架构吗美术馆网站建设概述

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发基于RT-Thread的智能家居网关系统,要求:1.支持WiFi和Zigbee双模通信;2.实现MQTT协议对接阿里云IoT平台;3.包含设备状态监控界面&…

张小明 2026/1/10 1:36:06 网站建设

织梦网站最下面的网站建设去除服务器免费体验

GLM-4-9B开源:7大测评碾压Llama-3-8B的AI神器 【免费下载链接】glm-4-9b 项目地址: https://ai.gitcode.com/zai-org/glm-4-9b 智谱AI正式发布GLM-4系列开源版本GLM-4-9B,在多维度测评中全面超越Meta的Llama-3-8B,标志着国产大模型在…

张小明 2026/1/9 15:28:12 网站建设

网站中高端建设广东省农业农村厅黎明

Spek音频分析工具:专业级频谱可视化利器 【免费下载链接】spek Acoustic spectrum analyser 项目地址: https://gitcode.com/gh_mirrors/sp/spek 在数字音频处理领域,精准捕捉声波频率特征是提升作品质量的关键环节。Spek作为一款开源声学频谱分析…

张小明 2026/1/10 1:36:05 网站建设

绍兴做企业网站的公司网站开发全栈工程师技能图

温馨提示:文末有资源获取方式随着小程序生态的蓬勃发展,智能名片系统已成为企业营销不可或缺的工具。最新升级的智能名片小程序系统v15.9版本,以AI技术与多用户管理为核心,致力于帮助企业构建高效的客户关系管理平台。系统基于PHP…

张小明 2026/1/10 1:36:09 网站建设