当前位置: 首页 > news >正文

C# 面试高频题:装箱和拆箱是如何影响性能的?菇

OCP原则

ocp指开闭原则,对扩展开放,对修改关闭。是七大原则中最基本的一个原则。

依赖倒置原则(DIP)

什么是依赖倒置原则

核心是面向接口编程、面向抽象编程, 不是面向具体编程。

依赖倒置原则的目的

降低耦合度,提高扩展力

什么是控制反转

控制反转:Ioc(Inversion of Controll),一种编程思想、设计模式。为了降低程序耦合度

反转有两点:

不在程序中采用硬编码的方式new对象,把创建对象交给别人(UserService userService = new UserServiceImplForMysql())。

不在程序中采用硬编码的方式维护对象关系。

spring框架

spring实现了Ioc,因此可以创建和维护对象见的关系。

控制反转实现方式主要有 依赖注入(Dependency Injection DI)

依赖注入的方式有以下方式:

Set注入(执行Set方法赋值)

构造方法注入(执行构造方法赋值)

依赖注入中的“依赖”、“注入”的含义

依赖:A对象和B对象的关系

注入:是一种手段,通过这种手段让A和B产生关系。

依赖注入的实现方式有:set注入和构造方法注入。

set注入

配置文件配置bean

在类中写set方法

package com.ali.service;

import com.ali.dao.UserDao;

public class UserService {

private UserDao userDao;

// set注入需要提供一个set方法,方法名以set开头,spring容器调用这个set方法注入UserDao

public void setUserDao(UserDao userDao) {

this.userDao = userDao;

}

public void saveUser(){

userDao.insertUser();

}

}

这样即可注入成功。

注入外部bean

注入内部bean

注入简单类型

实际开发中,一般不会吧Date类型当作简单类型,会使用ref来注入Date类型

级联属性赋值

注入数组

注入List和Set类型

张三

里斯

詹姆思

北京

上海

广州

注入Map集合

注入Properties类型

v1

v2

v3

注入null和空字符串

注入特殊字符串

构造注入

配置文件配置bean

2.使用p命名空间注入属性,语法:p:属性名="属性值" p:属性名-ref="引用类型属性值"-->

c命名空间注入(简化构造注入)

基于xml的自动装配byName

基于xml的自动装配byType

引入外部的属性配置文件

jdbc.properties文件

jdbc.diverClass=com.mysql.cj.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/spring6db?useSSL=false&server

jdbc.username=root

jdbc.password=123456

spring怎么实例化对象?

默认情况下spring通过反射机制,调用类的无参数构造方法实例化对象

把创建好的对象存储到Map结构中。

当有多个配置文件时,可读取多个配置文件

ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml","spring-dao.xml");

可以在配置文件中注入jdk自带的类,只要这个类有无参数构造方法就行。

getBean()时,Bean的id不存在时会报错

从类路径之外的路径获取xml配置文件

// 读取类路径之外的配置文件

ApplicationContext context = new FileSystemXmlApplicationContext("D:/applicationContext.xml");

Object user= context.getBean("user"); // 获取spring容器中的对象

ApplicationContext的超级父接口是BeanFactory。

BeanFactory是Ioc容器的顶级接口。

spring的Ioc容器底层使用了工厂模式。

启用Log4j2

spring5之后支持Log4j2框架。

引入依赖

org.apache.logging.log4j

log4j-slf4j2-impl

2.19.0

org.apache.logging.log4j

log4j-core

2.19.0

编写配置文件,文件名必须是log4j2.xml,放在类根路径下

使用日志框架 ,在SpringTest01类中使用如下代码

Logger logger = LoggerFactory.getLogger(SpringTest01.class);

logger.info("日志信息");戎季偈撕

http://www.jsqmd.com/news/632408/

相关文章:

  • 为什么你的vLLM吞吐量比竞品低37%?,深度拆解基准测试套件中被忽略的3层时序对齐机制(含CUDA Graph级采样代码)
  • Windows福音:Qwen-Image-2512-ComfyUI中文图像生成,5步快速体验
  • 一次由拨码开关引发的香橙派AIPro“假死”排查记
  • 2026年评价高的电动三轮车锂电池/三轮车锂电池厂家推荐 - 行业平台推荐
  • 电子信息保研面试真题库:钢琴爱好竟成加分项?附5类必问专业课速记清单
  • GLM-OCR Python API调用详解:5行代码集成OCR能力到业务系统
  • BL0910直流计量模式怎么玩?从模式寄存器配置到锂电池充放电监控实战
  • 2026年评价高的广东中央空调设备回收/冲床设备回收/广东五金设备回收/设备回收品牌厂家推荐 - 行业平台推荐
  • 手把手教你用Docker部署Crawl4AI服务,打造一个随时可用的AI爬虫API
  • 程序员副业指南:高收入技术变现全攻略
  • 2026年Q2杭州写字楼租赁标杆名录:杭州办公楼出租、杭州商务楼租赁、杭州写字楼招租、杭州写字楼租赁选择指南 - 优质品牌商家
  • Kubernetes Pod 网络延迟分析
  • AI 时代,计算机专业学生该怎么学?柯
  • 从信号到系统:深入解析以太网PHY的硬件实现与接口协议
  • 【限时技术白皮书】全球首批通过MLPerf Inference v4.0弹性测试的6套扩缩容配置模板(含Qwen3-72B/Gemma3-27B实测参数)
  • 2026年4月无人机机库企业如何选,无人机自动巡检/室外无人机自动巡检/无人机机库,无人机机库生产厂家有哪些 - 品牌推荐师
  • 2026年质量好的卫生间防水修缮/外墙防水修缮/自建房防水修缮/江西外墙防水修缮推荐公司 - 品牌宣传支持者
  • Pixel Fashion Atelier惊艳案例:天空蓝×活力橙UI下生成的30套高纯度像素皮装
  • OpenClaw 太难装了?试试 LangTARS:一行命令部署 + WebUI 管理面板,还能接入 Dify/Coze/nn??剖
  • AudioSeal多场景落地:教育(AI讲题)、医疗(问诊合成)、法律(笔录生成)全覆盖
  • Langchain Agent实战避坑:用通义千问调用高德API,我踩过的异步和工具定义那些坑
  • AI Coding越来越强,我们还有必要学Processing吗? · 创意编程家
  • 2026成都借款纠纷技术分享:成都强奸猥亵律师事务所、成都律师事务所、成都房产纠纷律师事务所quot;、成都抚养权分割律师事务所选择指南 - 优质品牌商家
  • 千问3.5-27B基础教程:如何修改/opt/qwen3527-27b/config.yaml调整默认max_new_tokens
  • LVGUI图片资源管理新思路:用NXP GUI Guider一键生成合并bin文件,告别手动算地址
  • 2026年知名的边缘焊接波纹管/不锈钢焊接金属波纹管推荐公司 - 品牌宣传支持者
  • SITS2026案例深度复盘:从Prompt工程到合规输出,大模型写作如何实现92.7%人工替代率?
  • 液压折弯机(全套)2012本科毕业设计
  • 腾讯发布Qclaw,无缝打通微信
  • 2026年ISO14001认证技术全解:ISO22000认证/ISO27001认证/ISO27017认证/ISO27701认证/选择指南 - 优质品牌商家