spring
豆腐花发
哦呜
展开
-
两个方法事务调用问题
方法a调用方法b,两个方法都使用事务,易出错的问题 @Autowired private OrderService orderService; @Transactional public void methodA() { try{ orderService.methodB(); } catch (Excep...原创 2020-01-15 16:53:34 · 1923 阅读 · 0 评论 -
spring-aspectj的几个aop注解
通知(Advice)类型的说明@Before 前置通知(Before advice) :在某连接点(JoinPoint)——核心代码(类或者方法)之前执行的通知,但这个通知不能阻止连接点前的执行。为啥不能阻止线程进入核心代码呢?因为@Before注解的方法入参不能传ProceedingJoinPoint,而只能传入JoinPoint。要知道从aop走到核心代码就是通过调用ProceedingJi...原创 2020-01-10 15:20:04 · 525 阅读 · 0 评论 -
boot2源码-事务
jdbc事务public void test(){ String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "root"; String sql = "update blog set name = ? where id=?"; ...原创 2019-11-25 16:52:01 · 101 阅读 · 0 评论 -
@Scheduled定时任务
@Scheduled注解的使用这里不详细说明,直接对8个参数进行讲解。参数详解1. cron该参数接收一个cron表达式,cron表达式是一个字符串,字符串以5或6个空格隔开,分开共6或7个域,每一个域代表一个含义。cron表达式语法[秒] [分] [小时] [日] [月] [周] [年]注:[年]不是必须的域,可以省略[年],则一共6个域。所以6域表达式的最后一个字段是周,不是年。...原创 2019-10-12 10:42:26 · 9126 阅读 · 0 评论 -
SpringBoot 实现热部署有哪几种方式
主要有两种方式:Spring LoadedSpring-boot-devtools引用devtools依赖org.springframework.bootspring-boot-devtoolstrue这样,当修改一个java类时就会热更新。自定义配置热部署以下配置用于自定义配置热部署,可以不设置。# 热部署开关,false即不启用热部署spring.devt...转载 2019-02-23 02:20:42 · 7495 阅读 · 0 评论 -
springmvc原理
原理图具体流程步骤如下:1、首先用户发送请求——>DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制;2、DispatcherServlet——>HandlerMapping, HandlerMapping 将会把请求映射为HandlerExecutionChain 对象(包含一个Handl...原创 2019-02-19 23:54:18 · 107 阅读 · 0 评论 -
spring缓存
Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从...转载 2019-07-02 18:31:38 · 122 阅读 · 0 评论 -
spring5新特性
Spring Framework 5.0的最大特点之一是响应式编程(Reactive Programming)。 响应式编程核心功能和对响应式endpoints的支持可通过Spring Framework 5.0中获得。 重要变动如下列表所示:常规升级对JDK 9运行时兼容性在Spring Framework代码中使用JDK 8特性响应式编程支持函数式Web框架Jigsaw的Java模...原创 2019-06-28 15:43:29 · 1216 阅读 · 0 评论 -
spring5源码-基于XML的依赖注入
转载https://blog.csdn.net/huyang0304/article/details/829585941、依赖注入发生的时间当SpringIOC容器完成了Bean定义资源的定位、载入和解析注册以后,IOC容器中已经管理类Bean定义的相关数据,但是此时IOC容器还没有对所管理的Bean进行依赖注入,依赖注入在以下两种情况发生:(1).用户第一次通过getBean方法向IOC容...转载 2019-07-13 22:02:50 · 159 阅读 · 0 评论 -
spring5源码-aop
代理对象工厂AopProxyFactorypublic interface AopProxyFactory { /** * Create an {@link AopProxy} for the given AOP configuration. * @param config the AOP configuration in the form of an * AdvisedSup...原创 2019-07-18 11:53:16 · 379 阅读 · 0 评论 -
spring5源码-ioc容器
转载https://blog.csdn.net/huyang0304/article/details/82949078转载 2019-07-11 23:01:38 · 127 阅读 · 0 评论 -
spring设计模式
9种简单工厂<beans> <bean id="singletonBean" class="com.itxxz.HelloItxxz"> <constructor-arg> <value>Hello! 这是singletonBean!value> </construct...原创 2019-09-04 16:51:33 · 93 阅读 · 0 评论 -
springboot原理
1、什么是 Spring Boot?Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。更多 Spring Boot 详细介绍请看这篇文章《什么是Spring Boot?》。2、为什么要用 Spring Boot?Spring Boot 优点非常多,...转载 2019-02-23 00:03:36 · 145 阅读 · 0 评论 -
spring源码
servlet启动过程1.启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: 和 2.紧接着,容器创建一个ServletContext(上下文)。在该应用内全局共享。3.容器将转化为键值对,并交给ServletContext.4.容器创建中的类实例,即创建监听.该监听器必须实现自ServletContextListener接口5.在监听中会...原创 2019-03-02 22:57:56 · 109 阅读 · 0 评论 -
spring事务介绍
一、事务的基本原理Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:获取连接 Connection con = DriverManager.getConnection()开启事务con.setAutoCommit(true/false);执行CRUD提交事务/回滚事务 c...转载 2019-03-14 11:24:35 · 99 阅读 · 0 评论 -
spring原理
1、Spring是什么? Spring是一个轻量级的IoC和AOP容器框架。目的是解决企业应用开发的复杂性,使用基本的JavaBean来完成以前只可能由EJB完成的事情,并提供了更多的企业应用功能,Spring的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。2、Spring 的优点?(1)spring属于低侵入式设计,代...原创 2019-02-20 00:19:25 · 137 阅读 · 0 评论 -
spring aop
AOP介绍@Aspect注解AOP,Aspect-OrientedProgramming,面向方面编程,作为面向对象的一种补充,用于解剖封装好的对象内部,找出其中对多个对象产生影响的公共行为,并将其封装为一个可重用的模块,这个模块被命名为“切面”(Aspect),切面将那些与业务无关,却被业务模块共同调用的逻辑提取并封装起来,减少了系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护...原创 2019-03-10 16:42:06 · 97 阅读 · 0 评论 -
springmvc5源码
SpringMVC源码分析我们根据工作机制中三部分来分析SpringMVC的源代码。其一,ApplicationContext初始化时建立所有url和Controller类的对应关系(用Map保存);其二,根据请求url找到对应的Controller,并从Controller中找到处理请求的方法;其三,request参数绑定到方法的形参,执行方法处理请求,并返回结果视图.第一个步骤,也就...原创 2019-04-10 11:40:38 · 414 阅读 · 0 评论 -
spring注册bean
手动注册bean的两种方式:实现ImportBeanDefinitionRegistrar实现BeanDefinitionRegistryPostProcessor实现ImportBeanDefinitionRegistrarImportBeanDefinitionRegistrar其本质也是通过BeanDefinitionRegistryPostProcessor来实现的。实现Impor...原创 2019-03-27 17:32:30 · 145 阅读 · 0 评论 -
springmvc5中设计模式
用了5种设计模式组合模式责任链模式适配器模式策略模式组合模式WebMvcConfigurerComposite体现了组合模式树枝节点用Composite结尾,里面包含了树叶节点,树枝和树叶都实现了相同的抽象类或接口WebMvcConfigurerclass WebMvcConfigurerComposite implements WebMvcConfigurer { pri...原创 2019-04-10 21:10:06 · 8016 阅读 · 1 评论 -
@EnableWebMvc启动springmvc特性
使用@EnableWebMvc@SpringBootApplicationpublic class Application { public static void main(String[] args) { log.debug("access {}","main"); SpringApplication.run(Application.class,...原创 2019-04-10 19:31:32 · 159 阅读 · 0 评论 -
springboot2.0新特性
Java 9 支持Spring Boot 2.0 要求Java 版本必须8以上, Java 6 和 7 不再支持。基本支持了Java 9。之所以是“基本”,是因为还没得到用户的验证。Jedis变为了LettuceRedis客户端驱动现在由Jedis变为了Lettuce。使用Jedis的同学们,大概知道方向了吧。但仍然支持Jedis,那么exclude掉io.lettuce:lettuce...原创 2019-04-02 10:49:46 · 334 阅读 · 0 评论 -
springboot2源码1-SpringApplication实例化
springboot 2.0.0.7.RELEASE版本启动类package com.study.bootweb;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplica...原创 2019-04-16 16:54:55 · 138 阅读 · 0 评论 -
springboot2源码2-SpringApplication运行
SpringApplication的run方法public ConfigurableApplicationContext run(String... args) { //时间监控 StopWatch stopWatch = new StopWatch(); stopWatch.start(); ConfigurableApplicationContext context = nu...原创 2019-04-16 18:16:05 · 185 阅读 · 0 评论 -
springboot2源码3-自动配置
自动读取配置文件,装配配置类从刷新容器开始:AbstractApplicationContextpublic void refresh() throws BeansException, IllegalStateException { //... invokeBeanFactoryPostProcessors(beanFactory); //... } protected v...原创 2019-04-17 17:07:08 · 154 阅读 · 0 评论 -
spring5源码-事务
Spring的事务机制包括声明式事务和编程式事务。编程式事务管理:Spring推荐使用TransactionTemplate,实际开发中使用声明式事务较多。声明式事务管理:将我们从复杂的事务处理中解脱出来,获取连接,关闭连接、事务提交、回滚、异常处理等这些操作都不用我们处理了,Spring都会帮我们处理。声明式事务管理使用了AOP面向切面编程实现的,本质就是在目标方法执行前后进行拦截。在目标...原创 2019-03-14 09:28:20 · 144 阅读 · 0 评论