Springboot-动态装载之Registrar
Springboot 的动态装载-Registrar
自定义 registrar,实现 ImportBeanDefinitionRegistrar 接口
12345678910public class MyRegistrar implements ImportBeanDefinitionRegistrar { @Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { BeanDefinition beanDefinition=new GenericBeanDefinition(); beanDefinition.setBeanClassName(MyService.class.getName()); registry.registerBeanDefinition("myService",beanDefinition); ...
Springboot-自建start
自建 start新建 start 项目
新建一个 spring 项目
需要依赖 configuration 注解,直接加入了 springboot 的依赖
1234567891011121314151617181920212223242526272829303132333435<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> < ...
Springboot-SpringBoot的来源
SpringBoot 的来源Spring 的发展历史Spring1.X由于 EJB 和 Java EE 开发的繁琐、低效,Spring 在探索革新中开发出来。
Spring 1.x 版本提供了核心的 IOC 和 AOP 功能。此时 Java 的 1.5 还没有出来,没有注解功能。Spring 的所有配置都在 xml 文件中。
Spring2.x随着 Java1.5 的出现,Spring 提供了一些注解来实现的配置功能。如@Compoent、@Service、@Controller、@RequestMapper
Spring3.x注解增强,如
@Configuration 去配置文件
@Compoent-Scan 注解扫描
@Import 引入其他配置类
@Enable 模块驱动,开启某个模块
Spring4.x全面支持 java8:如 lambda 表达式、新的日期和 api 的支持
核心容器的增强:泛型依赖注入、map 依赖注入、list 依赖注入
web 容器的增强:基于 servlet3.0 开发、提供 RestController 注解
WebSocket 的支持
Spring ...
Mybatis源码分析(2)-Mybatis 插件
Mybatis 插件描述mybtis 的官方文档对于插件的描述如下
mybatis 的插件可以通过拦截器的形式进行添加,作用的范围为 Mybatis 的四大组件。分别为 Eexcutor 执行器,ParameterHandle 参数执行器,ResultsetHandle 结果执行器,SatementHandle。对于这 4 大组件的方法能够在方法前后进行一些公用的操作,如统计 sql 执行时间,分页插件,转换参数或者结果集等操作。
Mybatis 插件使用
实现 Intercetor 接口
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110@Intercepts({ @Si ...
无题
整体执行过程
整体执行过程大致如上图所示。具体的步骤可以拆分成一下内容
首先解析配置,得到 Configuration
创建 SqlSession 回话,用于和数据库完成交互。
SqlSession 中创建不同的 Executor 执行程序。
Executor 中创建 StatementHandler 来调用 jdbc 程序。
Executor 中指定 ParameterHandler 来将 java 类型转化成 jdbc 类型,然后查询数据库,数据库返回的数据通过 ResultSetHandler 把 jdbc 类型转化成 java 类型
具体执行过程分析
整体的执行过程的时序图如上图所示。
创建 mybaties 的环境
本次验证过程中,使用的 mybatis 的编程式方式调用
mybatis-config.xml 文件配置如下
12345678910111213141516171819202122232425262728<?xml version="1.0" encoding="UTF-8" ?><!DOC ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
hexo s -g –debug 热更新