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

打造沉浸式智能AI问答助手:Vue + UniApp 全端实战(支持 Markdown/公式/多模态交互)姑

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/626419/

相关文章:

  • 等保.三级要求下Redis 安全测评应该怎么做?懊
  • 2026技术分享:全地形摩托车/全地形水陆两栖车/全地形车报价/八轮全地形车/双人全地形车/水陆两栖全地形地震救援车/选择指南 - 优质品牌商家
  • ard2pmod:Arduino与PMOD接口的硬件抽象与DS3231高精度RTC集成
  • Qwen3-VL-8B Web系统入门必看:从零搭建含前端/代理/vLLM的全栈AI聊天环境
  • 深入解析LDO trim修调技术:关键影响因素与优化策略
  • AI原生敏捷开发落地指南(Gartner 2024验证:交付周期压缩63%的关键转折点)
  • 5分钟快速解锁QQ音乐加密文件:qmcdump终极指南
  • 丙午年二月廿二惊雷声
  • RAG评估实战指南:三大质量指标与四大核心能力的自动化验证
  • 2026年国标仿木护栏技术全解析:国标仿木栏杆/成都仿木护栏厂家/成都仿木栏杆厂家/成都仿树藤栏杆厂家/成都仿石护栏厂家/选择指南 - 优质品牌商家
  • 从领域驱动到本体论:AI 时代的架构方法论变了戎
  • 从 Apache SeaTunnel 走向 ASF Member:一位开发者的长期主义样本辆
  • 2026届最火的十大AI写作助手解析与推荐
  • 解决若依vue微信图片无法显示的问题
  • 深度解析OBS多平台推流插件:5大实战配置策略实现高效直播分发
  • PanderaPolars的无效行获取技巧
  • 得意黑Smiley Sans:一款能让你爱上中文排版的窄斜体黑体终极指南
  • 【档案管理】“十五五”趋势下,档案行业的必答题,规划背景及政策分析
  • 数字图像处理(4版)——第1章——引言(Rafael C.GonzalezRichard E. Woods)
  • 单卡RTX 4090 24G也能玩转Qwen3-235B?手把手教你用vLLM 0.8.5.post1的AWQ量化部署与显存优化技巧
  • 记录复现多模态大模型论文OPERA的一周工作毖
  • HTTPD嵌入式HTTP服务器库:轻量级HTTP/1.1与WebSocket一体化实现
  • Spring Cloud进阶--分布式权限校验OAuth兹
  • WPF无边框窗口最大化时避免遮挡任务栏的终极方案
  • ESP32双通道异步日志系统:高性能嵌入式日志设计与实践
  • 7Semi CO₂TH嵌入式I²C驱动库:NDIR+RHT多参数传感器集成指南
  • 电阻式触摸屏驱动库:四线触摸ADC采样与坐标校准实现
  • AI原生软件国际化不是翻译问题!——揭秘3大隐藏技术债:时区感知推理、文化敏感Token切分、区域化RLHF反馈闭环
  • 人脸检测+属性分析:Face Analysis WebUI新手5分钟上手教程
  • OpenCore Auxiliary Tools:解决黑苹果配置复杂性的85%效率提升方案