文章目录 7.资源操作:Resources 7.1Resource接口 7.2Resource的实现类 7.2.1UrlResource访问网络资源 7.2.2ClassPathResource访问类路径下资源 7.2.3FileSystemResource访问文件系统资源 7.2.4其他 7.3Resource类图 7.4ResourceLoader接口 7.5ResourceLoaderAware接口 7.6使用Resource作为属性 7.7应用程序上下文和资源路径 7.7.1ApplicationContext实现类指定访问策略 7.7.2使用前缀指定访问策略 ...

文章目录 原理-手写IoC 1.回顾Java反射 2.实现Spring的IoC 原理-手写IoC 我们都知道,Spring框架的IOC是基于Java反射机制实现的,下面我们先回顾一下java反射。 1.回顾Java反射 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。简单来说,反射机制指的是程序在运行时能够获取自身的信息。 要想解剖一个类,必须先要获取到该类的Class对象。而剖析一个类或用反射解决具体的问题就是使用相关API(1...

  PdpU0qqPjdlY   2023年12月08日   38   0   0 Spring6Spring6JavaIoCIOCjavaspringspring

文章目录 5.单元测试:JUnit 5.1整合JUnit5 5.2整合JUnit4 6.事务 6.1JdbcTemplate 6.1.1准备工作 6.1.2实现CURD ①装配JdbcTemplate ②测试增删改功能 ③查询数据返回对象 ④查询数据返回list集合 ⑤查询返回单个的值 6.2事务 6.2.1编程式事务 6.2.2声明式事务 6.3基于注解的声明式事务 6.3.1准备工作 6.3.2测试无事务情况 6.3.3加入事务 ①添加事务配置 ②添加事务注解 ③观察结果 6.3.4@Transactional注解标识的位置 6.3.5事务...

  PdpU0qqPjdlY   2023年12月08日   18   0   0 JavabcjavaspringSpring6bcspringSpring6

文章目录 1.概述 1.1Spring简介 1.2Spring的狭义和广义 1.3SpringFramework特点 1.4Spring模块组成 2入门 2.1构建模块 2.2程序开发 2.2.1引入依赖 2.2.2创建java类 2.2.3创建配置文件 2.2.4创建测试类测试 2.3程序分析 2.4启用Log4j2日志框架 2.4.1引入Log4j2依赖 2.4.2加入日志配置文件 2.4.3使用日志 1.概述 官网地址:https://spring.io/ spring官方文档:https://spring.io/projects/spring-fram...

  PdpU0qqPjdlY   2023年12月08日   14   0   0 JavaSpring6Spring6springspringXMLxmljava

文章目录 3.容器:IoC 3.1IoC容器 3.1.1控制反转(IoC) 3.1.2依赖注入 3.1.3IoC容器在Spring的实现 3.2基于XML管理Bean 3.2.1搭建子模块spring6-ioc-xml 3.2.2获取bean 方式一:根据id获取 方式二:根据类型获取 方式三:根据id和类型 3.2.3依赖注入 方式一:setter注入 方式二:构造器注入 3.2.4特殊值处理 (1)字面量赋值 (2)null值 (3)xml实体 (4)CDATA节 3.2.5为对象类型属性赋值 方式一:引用外部bean 方式二:内部bean...

  PdpU0qqPjdlY   2023年12月08日   13   0   0 springSpring6IOCIoCxmlspringxmlSpring6

文章目录 提前编译:AOT 1.AOT概述 1.1JIT与AOT的区别 1.2Graalvm 1.3NativeImage 2.演示NativeImage构建过程 2.1GraalVM安装 (1)下载GraalVM (2)配置环境变量 (3)安装native-image插件 2.2安装C的编译环境 (1)下载VisualStudio安装软件 (2)安装VisualStudio (3)添加VisualStudio环境变量 (4)打开工具,在工具中操作 2.3编写代码,构建NativeImage 提前编译:AOT 1.AOT概述 1.1JIT与AOT的区别...

文章目录 1.Maven概述 1.1Maven的功能 1.2Maven简介 1.2.1构建 1.2.2依赖 1.2.3Maven的工作机制 2Maven核心程序解压和配置 2.1Maven下载 2.2配置settings.xml 2.2.1指定Maven的本地仓库 2.2.2配置阿里云提供的镜像仓库 2.2.3配置Maven工程的基础JDK版本 2.3配置环境变量 2.3.1检查JAVA_HOME配置是否正确 2.3.2配置MAVEN_HOME 2.3.3配置PATH 2.3.4验证 3.使用Maven:IDEA 3.1创建父工程 3.2开启自动导入 ...

  PdpU0qqPjdlY   2023年12月08日   15   0   0 JavamavenmavenjarWebjavaWebjar

文章目录 4.面向切面:AOP 4.1场景模拟 4.1.1声明接口 4.1.2创建实现类 4.1.3创建带日志功能的实现类 4.1.4提出问题 4.2代理模式 4.2.1概念 4.2.2静态代理 4.2.3动态代理 4.2.4测试 4.3AOP概念 4.3.1相关术语 ①横切关注点 ②通知(增强) ③切面 ④目标 ⑤代理 ⑥连接点 ⑦切入点 4.3.2作用 4.4基于注解的AOP 4.4.1技术说明 4.4.2实例 4.4.3各种通知 4.4.4切入点表达式语法 4.4.5重用切入点表达式 4.4.6获取通知的相关信息 4.4.7环绕通知 4.4....

1.tomcat下载 官网:https://tomcat.apache.org/ 镜像地址:https://mirrors.huaweicloud.com/apache/tomcat/1、选择一个版本下载,官网下载速度缓慢,推荐镜像 2、对压缩包进行解压,无需进行安装,解压放置一个位置,以后不挪动。 2.配置环境变量 1、新建系统变量 变量名:CATALINA_HOME变量值:tomcat路径 2、加入Path 3.tomcat启动 1、win+R打开cmd,输入startup,之后弹出一个窗口,不要关闭 2、浏览器输入localhost:8080/ 成功! 4.IDEA配...

  PdpU0qqPjdlY   2023年12月08日   13   0   0 javaJavatomcatXMLtomcatxml

9.MyBatis的逆向工程 正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的 逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源: Java实体类 Mapper接口 Mapper映射文件 9.1创建逆向工程的步骤 9.1.1添加依赖和插件 <?xmlversion="1.0"encoding="UTF-8"?> <projectxmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-...

  PdpU0qqPjdlY   2023年12月06日   18   0   0 SQLSQLmybatismybatisxmlbcbcxml

3.MyBatis获取参数值的两种方式 两种方式:${}和{} ${}的本质就是字符串拼接,{}的本质就是占位符赋值 ${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号3 3.1代码结构 这里pom.xml、jdbc.properties、log4j.xml、mybatis-config.xml文件不变,延用第二章的 3.1.1mapper ParameterMapper.java packagecom.atguigu.mybatis....

  PdpU0qqPjdlY   2023年12月06日   15   0   0 SQLSQLmybatismybatisUserTestUserTest

1.Mybatis简介 MyBatis下载地址 1.1MyBatis历史 MyBatis最初是Apache的一个开源项目iBatis,2010年6月这个项目由ApacheSoftwareFoundation迁移到了GoogleCode。随着开发团队转投GoogleCode旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQLMaps和DataAccessObjects(DAO) 1.2MyBatis特性 MyBa...

第4章操作BLOB类型字段 4.1MySQLBLOB类型 MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。 插入BLOB类型的数据必须使用PreparedStatement,因为BLOB类型的数据无法使用字符串拼接写的。 MySQL的四种BLOB类型(除了在存储的最大信息量上不同外,他们是等同的) 实际使用中根据需要存入的数据大小定义不同的BLOB类型。 需要注意的是:如果存储的文件过大,数据库的性能会下降。 如果在指定了相关的Blob类型以后,还报错:xxxtoolarge,那么在mysql的安装目录下,找my.ini文件加上如下的...

  PdpU0qqPjdlY   2023年12月06日   16   0   0 JavaSQLjava数据库jdbc数据库JDBCSQL

三、SpringDataJPA概述 SpringDataJPA是Spring基于ORM框架、JPA规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用SpringDataJPA可以极大提高开发效率! SpringDataJPA让我们解脱了DAO层的操作,基本上所有CRUD都可以依赖于它来实现,在实际的工作工程中,推荐使用SpringDataJPA+ORM(如:hibernate)完成操作,这样在切换不同的ORM框架时提供了极大的方便,同时也使数据库层操作更加简单,方便解耦 3.1SpringDa...

一、JPA概述 1.1ORM概述 ORM(Object-RelationalMapping)表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了ORM对象关系映射 简单的说:ORM就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的。 为什么使用ORM 当实现一个应用程序时(不使用O/RMapping),我们可能会写特别多数据访问层的代码,从数据库保存数据、修改数据、删除数据,而这些代码都是重复的。而使用ORM则会大大减少重...

  PdpU0qqPjdlY   2023年12月06日   10   0   0 JavajavahibernateHibernatejpaJPA

6.自定义映射resultMap 6.1代码结构 SqlSessionUtils.java、jdbc.properties、log4j.xml延用上面章节的。 6.1.1mybatis-config.xml <?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPEconfiguration PUBLIC"-//mybatis.org//DTDConfig3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <proper...

第1章:JDBC概述 1.1数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上,而持久化的实现过程大多通过各种关系数据库来完成。 持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。 1.2Java中的数据存储技术 在Java中,数据库存取技术可分为如下几类: JDBC直接访问数据库 JDO(JavaDataObject)技术 第三方O/R工具,如Hibernate,Mybatis等 JDBC是java访问数据库的基石...

七、Specifications动态查询 有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在SpringDataJPA中可以通过JpaSpecificationExecutor接口查询。相比JPQL,其优势是类型安全,更加的面向对象。 importjava.util.List; importorg.springframework.data.domain.Page; importorg.springframework.data.domain.Pageable; importorg.springframework.data.domain.Sort; im...

1.安装教程 1.1CLion下载 地址:https://www.jetbrains.com.cn/clion/download/other.html下载你需要的版本,这里以2022.2.4为例 之后获取到对应的安装包 1.2安装 1、双击运行安装包,next 2、选择安装路径,建议非系统盘,next 3、可全部勾选,next 4、install 5、finish 6、至此,我们已经安装好了CLion。后续需要的操作则看推荐博客 推荐博客: 2.使用 2.1单文件程序 1、双击打开Clion,点击NewProject 2、C程序默认第一个,选择项目存放路径,cr...

tasks.json //tasks.json是辅助程序编译的模块,执行类似于在命令行输入“gcchello.c-ohello”命令的操作 { "version":"2.0.0", "tasks":[ { "type":"cppbuild",//任务类型(如果是shell,下面的command就相当于执行shell命令) "label":"taskg",//任务的名称,可以修改,但一定要和launch.json的“preLaunchTask”项保持一致 "command":"F:\\exe\\mingw64\\bin\\g.exe",//编译器的路径 "ar...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~