Spring
小白的Spring之路
cb414
这个作者很懒,什么都没留下…
展开
-
Spring容器创建原理解析
1,前言学习雷老师的Spring注解版视频所做的学习笔记温馨提示----本文含有大量代码,已经省略了一些代码,请尽量关注有中文注释的地方若有不当之处,请您指出,您的指点是我的荣幸本文的一些方法并未进行深入的记录,若有兴趣可以查看这些文章相关链接:AOP工作原理(上)AOP工作原理(下)Spring事务原理解析BeanDefinitionRegistryPostProcessor原理解析BeanFactoryPostProcessor原理解析Spring事件监听-ApplicationL原创 2020-08-20 22:38:55 · 222 阅读 · 1 评论 -
Spring事件监听--ApplicationListener原理
1,前言学习雷老师的Spring注解版所做的笔记若有不当之处,请您指出,您的指点是我的荣幸2,ApplicationListener2.1,示例MyApplicationListener类//这里除了实现ApplicationListener接口外,还可以在方法上使用@EventListener注解,效果是相同的@Componentpublic class MyApplicationListener implements ApplicationListener<ApplicationE原创 2020-08-01 12:43:41 · 373 阅读 · 0 评论 -
BeanDefinitionRegistryPostProcessor原理解析
1,前言学习Spring注解的笔记若有不当之处,请您指出,您的指点是我的荣幸2,BeanDefinitionRegistryPostProcessor我们也可以通过BeanDefinitionRegistryPostProcessor给容器注册bean2.1,示例自定义BeanDefinitionRegistryPostProcessor类值得注意的是MyBeanDefinitionRegistryPostProcessor实现了BeanDefinitionRegistryPostProces原创 2020-07-31 17:56:26 · 502 阅读 · 0 评论 -
BeanFactoryPostProcessor原理解析
1,前言若有不当之处,请您指出,您的指点是我的荣幸2,BeanFactoryPostProcessor配置类@ComponentScan("com.cb414.ext")@Configurationpublic class ExtConfig { @Bean public Blue blue(){ return new Blue(); }}Blue类//Bluepublic class Blue { public Blue(){原创 2020-07-31 13:41:03 · 506 阅读 · 0 评论 -
Spring声明式事务原理解析
前言学习雷老师的Spring注解版所做的笔记若有不当之处,请您指出,您的指点是我的荣幸温馨提示:本文含有较多代码,已经做了一些省略,请尽量关注中文注释的地方事务要使用事务就离不开:@EnableTransactionManagement注解所以本文就@EnableTransactionManagement做了什么进行探究。@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented//可以看到@Enabl原创 2020-07-30 16:29:08 · 247 阅读 · 0 评论 -
AOP原理解析(2)AOP怎么工作的
1,前言学习雷老师的Spring注解版之后所做的的笔记有关AOP工作原理的上文–》AnnotationAwareAspectJAutoProxyCreator的创建若有不当之处,请您指出,您的指点是我的荣幸温馨提示:本文涉及大量代码,但是一些无关的代码已经简略了,请尽量关注有中文注释的地方!1.1,上文上一篇博客写到了@EnableAspectJAutoProxy是给容器中注册了一个后置处理器–AnnotationAwareAspectJAutoProxyCreator创建完之后就需要探究容器原创 2020-07-28 23:41:48 · 686 阅读 · 0 评论 -
AOP原理解析(1)@EnableAspectJAutoProxy
前言有关AOP原理的初步学习,做此记录AOP什么是AOPAOP:【动态代理】指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式步骤导入aop模式:Spring AOP(要导入aop依赖)定义一个业务逻辑类(MathCaculator);在业务逻辑运行的时候将日志进行打印(方法之前,方法结束之后)定义一个日志切面类,(logAspects),切面类里面的方法需要动态的感知MathCaculator.div方法运行到哪里了,并执行对应的方法给切面类的目标方法去标注何时原创 2020-07-27 21:29:35 · 511 阅读 · 0 评论 -
(四)组件注册--@ComponentScan--Filter属性
1,前言有关@ComponentScan的Filter属性的记录2,Filter@ComponentScan中还有一些属性: //扫描的时候只扫描哪些指定的组件 ComponentScan.Filter[] includeFilters() default {}; //扫描的时候按照哪些规则排除指定的组件 ComponentScan.Filter[] excludeFilters() default {};2.1,excludeFiltersMainConfig主配置类/*原创 2020-07-26 12:07:59 · 5770 阅读 · 0 评论 -
(三)组件注册--(2)@ComponentScan
1,前言有关@ComponentScan的基础介绍若有错误请您指出,您的指点是我的荣幸2,@ComponentScan2.1,准备@ComponentScan包扫描会自动去扫描那些指定的包下面用@Controller,@Service,@Repository,@Component四个注解所标示的组件,并将其导入容器中!!!用这些注解所标识的组件代表是需要被容器进行导入的给项目增加一些@Controller…等注解@Controllerpublic class BookController原创 2020-07-07 23:41:53 · 85 阅读 · 0 评论 -
(二)组件注册--(1)@Configuration&@Bean
1,前言学习Spring注解的记录2,@Configuration&@Bean2.1,实体类Person实体类public class Person { private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = n原创 2020-07-06 20:51:43 · 97 阅读 · 0 评论 -
(一)Whitelabel Error Page错误
前言在学习Spring Boot时遇到This application has no explicit mapping for /error, so you are seeing this as a fallback.特此记录原因用@SpringBootApplication标注的类的位置不对错误提示:包结构(错误的):源码解析@SpringBootApplication:...原创 2020-03-28 18:43:15 · 1030 阅读 · 0 评论