news 2026/5/2 7:38:32

我好像会被 Agent 淘汰,我用数据算了一算仗

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
我好像会被 Agent 淘汰,我用数据算了一算仗

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("日志信息");砂谒媳乘

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 21:12:09

【模拟IC】从指标到参数:二级运放GBW与相位裕度的设计实战

1. 理解GBW与相位裕度的工程意义 第一次接触运放设计时,看到GBW100MHz、PM>60这样的指标要求,就像拿到一张没有说明书的电路图。作为从业十年的模拟IC工程师,我至今记得当初面对这些抽象参数时的困惑。**增益带宽积(GBW)和相位裕度(PM)**本…

作者头像 李华
网站建设 2026/4/10 21:12:08

CSDN同步助手上线:一键同步技术文章到各大平台

CSDN 官方出品 | 永久免费 | 数据本地安全 | 30 秒极速安装作为技术创作者,你是否也有这样的烦恼?写完一篇技术博客,还要在微信公众号、微博、知乎等多个平台重复复制粘贴、重新排版,光是分发内容就要花费大量时间,严重…

作者头像 李华
网站建设 2026/4/10 21:12:07

SAP HANA 日志清理实战:当ALTER SYSTEM RECLAIM LOG无效时,该如何深入排查?

一、问题背景与现象 在生产环境的日常运维中,我们遇到了一个典型的SAP HANA告警:/hana/log 日志卷空间使用率持续攀升,即将达到阈值。 登录系统后,进入日志目录 /hana/log/HEP/mnt00001/,执行 du -sh * 命令查看各子目录的空间占用情况: hanaprd2:/hana/log/HEP/mnt000…

作者头像 李华
网站建设 2026/4/10 21:08:08

微信小程序自定义日期时间选择器:实现年月日时分秒联动选择

1. 为什么需要自定义日期时间选择器 微信小程序原生的picker组件虽然能实现基础选择功能,但在处理复杂日期时间联动时显得力不从心。比如选择"2023年2月28日"后切换到3月时,日期选项不会自动从28变成31,这会导致数据逻辑错误。我在…

作者头像 李华
网站建设 2026/4/10 21:06:41

【EF Core 10向量搜索扩展深度解密】:20年ORM老兵逐行剖析源码设计哲学与生产级避坑指南

第一章:EF Core 10向量搜索扩展的演进脉络与设计定位 EF Core 10 向量搜索扩展并非凭空诞生,而是深度响应现代AI应用对语义检索能力的刚性需求,在.NET生态中首次将原生向量相似度计算、索引优化与查询表达式树翻译能力统一整合至ORM层。其设计…

作者头像 李华