springBoot
菜 头
java从入门到放弃,菜鸟飞不起。。。
展开
-
小白mybatis源码看这一遍就够了(5)| 与springboot整合以及@Mapper原理
mybatis源码分析系列:mybatis源码看这一遍就够了(1)| 前言 mybatis源码看这一遍就够了(2)| getMapper mybatis源码看一遍就够了(3)| Configuration及解析配置文件 mybatis源码看一遍就够了(4)| SqlSession.select调用分析 通过前面几章对mybatis的源码分析,相信大家对mybatis的流程原理也有了...原创 2020-04-23 21:02:35 · 960 阅读 · 0 评论 -
简单直接让你也读懂springmvc源码分析(4)-- ViewResolver
到该章,也就是视图解析器,这里是dispatcherServlet的最后一步调用,就是从HandlerAdapter拿回来的ModelView放入视图解析器ViewResolver进行视图的解析,然后响应给用户浏览器。我们这里选用freeMarker来做demo,那么下面也将是以FreeMarkerViewResolver的视图解析器来分析。在分析前我们先来看看freeMarker的运用...原创 2020-04-15 19:51:27 · 406 阅读 · 0 评论 -
简单直接让你也读懂springmvc源码分析(3)-- HandlerAdapter
我们还是像上一章那样springmvc源码分析(2)-- HandlerMapping,直接从springboot的WebMvcAutoConfiguration这里开始:这里把RequestMappingHandlerAdapter交由spring管理,我们看看RequestMappingHandlerAdapter的类继承关系:它实现了一个InitializingBean...原创 2020-04-15 19:50:45 · 239 阅读 · 0 评论 -
简单直接让你也读懂springmvc源码分析(2)-- HandlerMapping
关于springboot整合springmvc的源码分析可以参考以下系列文章:springboot整合springmvc源码分析(1)--前言 springboot整合springmvc源码分析(2)--承上启下 springboot整合springmvc源码分析(3)--直击内容我们这系列文章主要来分析的是关于springmvc的源码为了方便debug我们这里创建一个spring...原创 2020-04-15 19:50:10 · 252 阅读 · 0 评论 -
springboot整合springmvc源码分析(3)--直击内容
springboot整合springmvc源码分析(1)--前言 springboot整合springmvc源码分析(2)--承上启下通过第一章的猜想和第二章的否认,我们这章直接来分析springboot整合springmvc核心源码由之前的揭密springboot自动装配(2)--AutoConfigurationImportSelector系列文章中,我们已经大概知道spring...原创 2020-04-11 15:18:39 · 987 阅读 · 0 评论 -
springboot整合springmvc源码分析(2)--承上启下
根据上章留下的猜想,我们开始对其进行源码分析,一探究竟<modelVersion>4.0.0</modelVersion> <packaging>pom</packaging> <parent> <groupId>org.springframework.boot</groupId>...原创 2020-04-11 15:18:31 · 405 阅读 · 0 评论 -
springboot整合springmvc源码分析(1)--前言
springboot是怎么做到内嵌tomcat,而不需要去部署项目到tomcat的,在分析springboot整合springmvc前,我们先来说说一点关于tomcat的东西,我们这里不需要下载tomcat服务,只需要new 一个tomcat 即可,下面我们来一个例子看看org.apache.tomcat.embed:tomcat-embed-core:9.0.31public cla...原创 2020-04-11 15:18:19 · 992 阅读 · 0 评论 -
spring Aop(2)--cglib代理
在分析springAop前,我们需要先了解下cglib代理这个知识点,之所以这么说是因为springAop的底层实现就是采用cglib动态代理这种方式,所以有必要在这里说一下,废话不多说,直接上例子1.创建需要被代理的类,我们直接采用上一章的UserA类public class UserA { private String name; private int age;...原创 2020-04-09 08:55:51 · 167 阅读 · 0 评论 -
spring Aop(1)--注解使用
二话不说直接开始上例子1.定义UserA类,也就是业务类2.创建Aspect@Aspect@Componentpublic class UserAspects { @Pointcut("execution(* com.example.demo.service.*.*(..))") public void userAspects(){} @Befor...原创 2020-04-09 08:55:39 · 186 阅读 · 0 评论 -
spring Aop(3)--源码解析
前面AbstractAutowireCapableBeanFactory.createBean()这个方法ioc之前已经说过,下面是部分熟悉代码try { // Give BeanPostProcessors a chance to return a proxy instead of the target bean instance. Object bean...原创 2020-04-09 08:56:08 · 233 阅读 · 1 评论 -
揭密springboot自动装配(5)--ioc及@Autowired注解
@Autowired 注解的bean什么时候实例化给它?我们直接从AbstractAutowireCapableBeanFactory.doCreateBean开始,这个方法从上一章内容可得知是创建实例化对象然后放入三级缓存的singletonFactories里面,我们接着这个方法继续深究protected Object doCreateBean(final String bean...原创 2020-04-08 14:15:21 · 668 阅读 · 1 评论 -
揭密springboot自动装配(4)--ioc及创建beanFactory
根据上一章的提问:bean注册到beanDefinitionMap之后什么时候进行实例化?什么时候放进beanFactory?我们回到继续回到AbstractApplicationContext.refresh这里@Override public void refresh() throws BeansException, IllegalStateException { ...原创 2020-04-08 14:15:09 · 903 阅读 · 0 评论 -
揭密springboot自动装配(3)--ioc及调用selectImposts
接着上一章的提问,何处调用了这个selectImposts方法?我们从这个启动类的SpringApplication.run方法跟进去public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); stopWatch.start();...原创 2020-04-08 14:14:59 · 1609 阅读 · 0 评论 -
揭密springboot自动装配(2)--AutoConfigurationImportSelector
我们从启动类里的@SpringBootApplication注解开始里面有三个主要注解@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan这里自动装配的主要注解是@EnableAutoConfiguration这个,我们跟进去看看会发现这里面有引入我们上章提到的神秘东东AutoConfigurati...原创 2020-04-08 14:14:22 · 1898 阅读 · 10 评论 -
揭密springboot自动装配(1)--ImportSelector
揭密springboot自动装配,在讲这个之前,我们先来个例子热热身首先我们先来了解下ImportSelector这个接口的应用,ImportSelector接口是spring中导入外部配置的核心接口,在SpringBoot的自动化配置和@EnableXXX(功能性注解)都有它的存在,具体怎么用下面走个例子看看1.实现下ImportSelectorpublic class Use...原创 2020-04-08 14:13:59 · 2608 阅读 · 2 评论 -
零基础myeclipse下springBoot+maven+thymeleaf的开发(3) +mybaits
接下我们讲的是springBoot与mybaits集成,pom.xml对应mybaits前面已经都依赖进去了。 我先把我整个的目录结构展示下: 在src/main/resources下新建一个文件夹命名为mybaits(无所谓),用来放mybaits的数据库操作文件xml,然后再修改前我们建的application.java,代码如下:@EnableAutoConfiguration@Sp原创 2016-04-08 14:36:50 · 1211 阅读 · 0 评论 -
零基础myeclipse下springBoot+maven+thymeleaf的开发(2)
接下 现在我们开始代码的编写,首先先写application.java这个,这里写的是一些相当于spring配置文件xml那样的东西如bean。我们先然昨天搭建的环境跑起来,代码如下:@EnableAutoConfiguration@SpringBootApplication@ComponentScan原创 2016-04-08 10:04:26 · 3493 阅读 · 2 评论 -
零基础myeclipse下springBoot+maven+thymeleaf的开发(1)
最近学习的springBoot,springBoot让我们开启了懒人模式,加上maven分分钟搭建好整个应用环境原创 2016-04-07 17:27:05 · 5826 阅读 · 0 评论 -
springboot系列 | 配置文件
可采用该网站https://start.spring.io/进行springboot项目创建生成pom.xml文件内容:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://原创 2018-02-02 16:05:48 · 356 阅读 · 0 评论 -
springboot系列 | 与mybatis整合
springboot与mybatis整合及其简单,与传统SSM框架整合少了很多烦人的配置,springboot与mybatis整合只需导入mybatis包,这样springboot就会帮我们自动配置及整合了。下面直接上所需代码:依赖包引入整个pom.xml文件如下:<project xmlns="http://maven.apache.org/POM/4.原创 2018-02-05 10:10:35 · 41216 阅读 · 12 评论 -
springboot系列 | 与redis整合
项目目录结构依赖包引入<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 http:/原创 2018-02-05 10:37:45 · 3873 阅读 · 1 评论 -
springboot系列 | 开启缓存(redis)
这篇基于redis在springboot中开启缓存处理项目目录结构依赖包引入<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma原创 2018-02-05 11:00:45 · 1590 阅读 · 0 评论 -
springboot系列 | 定时任务
定时任务顾名思义就是设置一定时间让任务自动在规定时间上运行依赖包引入<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原创 2018-02-05 11:34:15 · 489 阅读 · 0 评论 -
零基础myeclipse下springBoot+maven+thymeleaf的开发(4) 修改端口以及打包
前面忘了讲了,就是springBoot默认部署的端口号都是8080,那么怎么修改呢,很简单,只需要application.java implements实现这个接口就可以了EmbeddedServletContainerCustomizer实现这个接口的方法,在application.java添加如下代码:@Override public void customize(Configurabl原创 2016-04-08 14:57:59 · 982 阅读 · 0 评论