spring
青春季风暴
aiIT
展开
-
spring data jpa详解
本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求。这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring整合的环境中实现。如果需要了解该框架的入门,百度一下,很多入门的介绍。在这篇文章的接下来一篇,会有一个系列来讲解mybatis,这个系列从mybatis的入门开始,到基本使用,和spring整合,和第...转载 2018-09-27 19:39:43 · 201 阅读 · 0 评论 -
spring源码分析(十)——Servlet容器注册组件
1、Servlet容器启动会扫描,当前应用里面每一个jar包的 ServletContainerInitializer的实现2、提供ServletContainerInitializer的实现类; 必须绑定在,META-INF/services/javax.servlet.ServletContainerInitializer 文件的内容就是ServletContainerI...原创 2018-11-23 14:48:02 · 188 阅读 · 0 评论 -
spring源码分析(九)——容器的创建
首先我们分析一下Spring容器的refresh()【创建刷新】;主要过程分为以下几个步骤:容器的刷新及创建:1、首先进行刷新前的预处理prepareRefresh(),初始化一些属性设置,检验属性的合法性等。2、然后创建beanFactory并获取3、然后进行BeanFactory的预准备工作,进行一些设置。比如设置类加载器、添加部分后置处理器等4、然后调用postProcess...原创 2018-11-23 14:01:23 · 148 阅读 · 1 评论 -
spring源码分析(七)——声明式事务
如何利用注解来实现声明式事务?* 环境搭建: * 1、导入相关依赖 * 数据源、数据库驱动、Spring-jdbc模块 * 2、配置数据源、JdbcTemplate(Spring提供的简化数据库操作的工具)操作数据 * 3、给方法上标注 @Transactional 表示当前方法是一个事务方法; * 4、 @EnableTransactionManagement 开启基于注解的...原创 2018-11-19 22:38:00 · 167 阅读 · 0 评论 -
spring源码分析(八)——扩展原理
* 扩展原理:* BeanPostProcessor:bean后置处理器,bean创建对象初始化前后进行拦截工作的* * 1、BeanFactoryPostProcessor:beanFactory的后置处理器;* 在BeanFactory标准初始化之后调用,来定制和修改BeanFactory的内容;* 所有的bean定义已经保存加载到beanFactory,但是bea...原创 2018-11-21 23:36:42 · 252 阅读 · 0 评论 -
spring源码分析(十一)——整合spring mvc
1、web容器在启动的时候,会扫描每个jar包下的META-INF/services/javax.servlet.ServletContainerInitializer2、加载这个文件指定的类SpringServletContainerInitializer3、spring的应用一启动会加载感兴趣的WebApplicationInitializer接口的下的所有组件;4、并且为WebApp...原创 2018-11-23 16:34:32 · 226 阅读 · 0 评论 -
spring源码分析(五)——AOP的使用
AOP:【动态代理】指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式;1、导入aop模块;Spring AOP:(spring-aspects)2、定义一个业务逻辑类(MathCalculator);在业务逻辑运行的时候将日志进行打印(方法之前、方法运行结束、方法出现异常,xxx)3、定义一个日志切面类(LogAspects):切面类里面的方法需要动态感知Math...原创 2018-11-16 22:38:17 · 630 阅读 · 0 评论 -
spring源码分析(四)——spring自动装配
自动装配,是Spring利用依赖注入(DI),完成对IOC容器中中各个组件的依赖关系赋值;spring的自动装配,可以有两种方式来实现:@Autowired:自动注入 1)、默认优先按照类型去容器中找对应的组件:applicationContext.getBean(BookDao.class);找到就赋值 2)、如果找到多个相同类型的组件,再将属性的名称作为组件的id去容器中查找 ...原创 2018-11-16 22:31:38 · 328 阅读 · 1 评论 -
spring源码分析(六)——aop原理
上篇文章介绍了AOP的使用,我们需要在切面类上标注@EnableAspectJAutoProxy注解,那我们分析aop原理,就从这个注解开始分析。@EnableAspectJAutoProxy是什么?在@EnableAspectJAutoProxy里,它会调用@Import(AspectJAutoProxyRegistrar.class):给容器中导入AspectJAutoProxyRegi...原创 2018-11-19 00:30:52 · 627 阅读 · 0 评论 -
spring源码分析(三)——注解为属性赋值
利用spring注解,可以为实体类的属性赋值,作用就类似于在配置文件里赋值一样。值得类型可以是内容,也可以进行计算,同时也可以引入配置文件的值。public class Person { //使用@Value赋值; //1、基本数值 //2、可以写SpEL; #{} //3、可以写${};取出配置文件【properties】中的值(在运行环境变量里面的值) @Value("张...原创 2018-11-12 22:57:24 · 1263 阅读 · 0 评论 -
spring源码分析(一)——bean的注册
1、从容器中获取bean的两种方式a、xml注册获取ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");Person bean = (Person) applicationContext.getBean("person");System.out.print...原创 2018-10-24 21:29:17 · 378 阅读 · 0 评论 -
spring源码分析(二)——bean的生命周期
bean的生命周期bean的生命周期:bean创建—初始化----销毁的过程容器管理bean的生命周期;我们可以自定义初始化和销毁方法;容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法构造(对象创建)单实例:在容器启动的时候创建对象多实例:在每次获取的时候创建对象\BeanPostProcessor.postProcessBeforeInitializati...原创 2018-10-26 16:21:03 · 258 阅读 · 0 评论 -
springboot多数据源配置
之前在介绍使用JdbcTemplate和Spring-data-jpa时,都使用了单数据源。在单数据源的情况下,Spring Boot的配置非常简单,只需要在application.properties文件中配置连接参数即可。但是往往随着业务量发展,我们通常会进行数据库拆分或是引入其他数据库,从而我们需要配置多个数据源,下面基于之前的JdbcTemplate和Spring-data-jpa例子分别...转载 2019-05-27 16:31:04 · 269 阅读 · 0 评论