上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页
摘要: 使用内置tomcat启动 配置案例 启动方式 IDEA中main函数启动 mvn springboot-run java -jar XXX.jar 使用这种方式时,为保证服务在后台运行,会使用nohup nohup java -jar -Xms128m -Xmx128m -Xss256k -XX:+ 阅读全文
posted @ 2025-01-16 08:15 程序员Seven 阅读(730) 评论(2) 推荐(3)
摘要: 介绍 Servlet是在服务器端运行的Java程序,可以接收客户端请求并做出响应,是基于 Java 技术的 web 组件,该组件由容器托管,用于生成动态内容。他是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。 servlet说实在点就是个接口,浏览器发送请求 阅读全文
posted @ 2025-01-14 08:15 程序员Seven 阅读(207) 评论(0) 推荐(0)
摘要: 一级缓存实现 什么是一级缓存? 为什么使用一级缓存? 每当我们使用MyBatis开启一次和数据库的会话,MyBatis会创建出一个SqlSession对象表示一次数据库会话。 在对数据库的一次会话中,我们有可能会反复地执行完全相同的查询语句,如果不采取一些措施的话,每一次查询都会查询一次数据库,而我 阅读全文
posted @ 2025-01-13 08:15 程序员Seven 阅读(488) 评论(0) 推荐(2)
摘要: 概述 对数据库的事务而言,应该具有以下几点:创建(create)、提交(commit)、回滚(rollback)、关闭(close)。对应地,MyBatis将事务抽象成了Transaction接口: MyBatis的事务管理分为两种形式: 使用JDBC的事务管理机制:即利用java.sql.Conn 阅读全文
posted @ 2025-01-12 20:39 程序员Seven 阅读(218) 评论(0) 推荐(0)
摘要: 一直没有好好的介绍过自己,这里写一篇文章来介绍下自己。 我是普通学校出身,硕士期间自学Java,秋招最终斩获 12 个 offer,包含中大厂、初创公司、国企 等各类型公司。自学路上遇到不少问题,但最终结果还是满意的,最终是在北京某互联网厂从事一线开发。 本科阶段(接触编程) 我是非科班出身,本科学 阅读全文
posted @ 2025-01-11 21:04 程序员Seven 阅读(222) 评论(0) 推荐(1)
摘要: MyBatis数据源DataSource分类 MyBatis把数据源DataSource分为三种: UNPOOLED 不使用连接池的数据源 POOLED 使用连接池的数据源 JNDI 使用JNDI实现的数据源 相应地,MyBatis内部分别定义了实现了java.sql.DataSource接口的Un 阅读全文
posted @ 2025-01-09 08:15 程序员Seven 阅读(463) 评论(0) 推荐(1)
摘要: 源码分析 插件机制 首先我们看下MyBatis拦截器的接口定义: public interface Interceptor { Object intercept(Invocation invocation) throws Throwable; Object plugin(Object target) 阅读全文
posted @ 2025-01-08 22:27 程序员Seven 阅读(201) 评论(0) 推荐(0)
摘要: 引入 我们在使用mybatis的时候,会在xml中编写sql语句。比如这段动态sql代码: <update id="update" parameterType="org.format.dynamicproxy.mybatis.bean.User"> UPDATE users <trim prefix 阅读全文
posted @ 2025-01-07 08:15 程序员Seven 阅读(663) 评论(0) 推荐(1)
摘要: sqlSessionFactory 与 SqlSession 正如其名,Sqlsession对应着一次数据库会话。由于数据库会话不是永久的,因此Sqlsession的生命周期也不应该是永久的,相反,在你每次访问数据库时都需要创建它(当然并不是说在Sqlsession里只能执行一次sql,你可以执行多 阅读全文
posted @ 2025-01-06 08:15 程序员Seven 阅读(646) 评论(0) 推荐(0)
摘要: 配置解析主体方法 public Configuration parse() { if (parsed) { throw new BuilderException("Each XMLConfigBuilder can only be used once."); } parsed = true; //源 阅读全文
posted @ 2025-01-02 08:15 程序员Seven 阅读(412) 评论(0) 推荐(2)
摘要: 主要构件及其相互关系 主要构件: 主要的核心部件解释如下: SqlSession: 作为MyBatis工作的主要顶层API,表示和数据库交互的会话,完成必要数据库增删改查功能 Executor:MyBatis执行器,是MyBatis 调度的核心,负责SQL语句的生成和查询缓存的维护 Statemen 阅读全文
posted @ 2024-12-31 08:15 程序员Seven 阅读(439) 评论(0) 推荐(1)
摘要: 概述 JDBC(Java DataBase Connectivity)是Java和数据库之间的一个桥梁,是一个「规范」而不是一个实现,能够执行SQL语句。JDBC由一组用Java语言编写的类和接口组成。各种不同类型的数据库都有相应的实现,注意:本文中的代码都是针对MySQL数据库实现的。 先看一个案 阅读全文
posted @ 2024-12-30 08:15 程序员Seven 阅读(171) 评论(0) 推荐(0)
摘要: 写在前面 springboot遵从约定大于配置的原则,极大程度的解决了配置繁琐的问题。在此基础上,又提供了spi机制,用spring.factories可以完成一个小组件的自动装配功能。 在一般业务场景,可能是不需要关心一个bean是如何被注册进spring容器的,只需要把需要注册进容器的bean声 阅读全文
posted @ 2024-12-26 08:15 程序员Seven 阅读(723) 评论(1) 推荐(3)
摘要: 事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制 分类 主要分为编程式事务和声明式事务两种。 编程式事务 是指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强,如下示例: try { //TODO something transactionManager.comm 阅读全文
posted @ 2024-12-24 08:15 程序员Seven 阅读(1466) 评论(0) 推荐(1)
摘要: 动态代理概述 什么是代理 代理模式(Proxy pattern): 为另一个对象提供一个替身或占位符以控制对这个对象的访问 什么是动态代理? 动态代理就是,在程序运行期,创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术。 在生成代理对象的过程中,目标对象不变,代理对象中的方法是目 阅读全文
posted @ 2024-12-23 08:15 程序员Seven 阅读(416) 评论(0) 推荐(0)
摘要: 生命周期的整体流程 Spring 容器可以管理 singleton 作用域 Bean 的生命周期,在此作用域下,Spring 能够精确地知道该 Bean 何时被创建,何时初始化完成,以及何时被销毁。 而对于 prototype 作用域的 Bean,Spring 只负责创建,当容器创建了 Bean 的 阅读全文
posted @ 2024-12-19 08:15 程序员Seven 阅读(428) 评论(0) 推荐(3)
摘要: 首先,有两种Bean注入的方式:构造器注入和属性注入。 对于构造器注入的循环依赖,Spring处理不了,会直接抛出BeanCurrentlylnCreationException异常。 对于属性注入的循环依赖 单例模式下,是通过三级缓存处理来循环依赖的。 非单例对象的循环依赖,则无法处理。 单例模式 阅读全文
posted @ 2024-12-18 08:15 程序员Seven 阅读(166) 评论(0) 推荐(0)
摘要: IOC容器的初始化整体过程 Spring是如何实现将资源配置(以xml配置为例)通过加载,解析,生成BeanDefination并注册到IoC容器中的?这主要会经过以下 4 步: 从XML中读取配置文件,并将配置文件转换为Document 再将Document中的 bean标签解析成 BeanDef 阅读全文
posted @ 2024-12-16 08:15 程序员Seven 阅读(460) 评论(0) 推荐(2)
摘要: 介绍 IoC(Inversion of Control:控制反转) 是一种设计思想,而不是一个具体的技术实现。IoC 的思想就是将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理,由Spring容器管理bean的整个生命周期。通俗来说就是IoC是设计思想,DI是实现方式。 通过反射实 阅读全文
posted @ 2024-12-12 08:15 程序员Seven 阅读(649) 评论(1) 推荐(3)
摘要: 介绍 AOP,面向切面编程,作为面向对象的一种补充,将公共逻辑(事务管理、日志、缓存、权限控制、限流等)封装成切面,跟业务代码进行分离,可以减少系统的重复代码和降低模块之间的耦合度。切面就是那些与业务无关,但所有业务模块都会调用的公共逻辑。 先看一个例子:如何给如下UserServiceImpl中所 阅读全文
posted @ 2024-12-10 08:15 程序员Seven 阅读(779) 评论(2) 推荐(1)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页