spring
文章平均质量分 94
大树叶
宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒。
展开
-
springboot2.0 整合 redis-cluster集群
1. 首先引入依赖pom<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.0.0.RELEASE</version> </dependency>2.编写redis工具类.原创 2020-07-26 23:19:33 · 419 阅读 · 0 评论 -
Sentinel 和 spring cloud gateway集成
spring cloud gateway 2 深入了解 - filter原创 2020-07-26 22:49:12 · 1058 阅读 · 0 评论 -
Spring BeanFactory与FactoryBean的区别
1. BeanFactory 以Factory结尾,表示它是一个工厂类(接口),用于管理Bean的一个工厂。在Spring中,BeanFactory是IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。 Spring为我们提供了许多易用的BeanFactory实现比如XmlBeanFactory就是常用的一个,该实现将以XML方式描述组成应用的对象及对象间的依赖关系。BeanFactory提供的方法及其简单,仅提供了六种方法供客户调用: boo原创 2020-07-26 22:48:00 · 202 阅读 · 0 评论 -
Sentinel和Spring cloud Gateway集成的那些事
下面两篇专门的文档不错,权当收藏参考文档:1.分布式系统的流量防卫兵Sentinel-入门指南2.Spring Cloud Alibaba Sentinel 网关流量控制之Spring Cloud Gateway实战3.spring cloud gateway 2 深入了解 - filter转载 2020-07-26 12:14:09 · 497 阅读 · 0 评论 -
spring 三种方式:XML配置,JAVA配置和注解配置 小论
目前来说spring的配置方式一般三种:XML配置 JAVA配置 注解配置注解配置:@Service@Component@Repository@ControlleJAVA配置@Confirguration 相当于spring的配置文件XML@Bean 用到方法上,表示当前方法的返回值是一个bean这两种方法的区别在于如果使用注解的方式,那么你需要在Serivce层,DAO层的时候,需要在类上进行注解,就可获得spring的依赖注入。package demo;..原创 2020-07-26 10:50:40 · 786 阅读 · 0 评论 -
spring 中 ApplicationContextAware 接口使用例子
使用ApplicationContextAware接口的场景在spring项目中,bean之间的依赖关系是 spring容器自动管理的,但是一个项目中有些类不在spring容器中却需要使用spring管理的bean,这时候不能通过正常的方式(注解等方式)注入bean,在spring中提供了ApplicationContextAware接口,通过ApplicationContextAware接口可以获取到spring上下文,从而从spring上下文中获取到需要的bean。我们可以编写一个工具类来实现Ap原创 2020-07-25 16:30:38 · 397 阅读 · 1 评论 -
基于 Eureka 的实现 Spring Boot Admin实战
https://blog.csdn.net/hubo_88/article/details/80671192原创 2020-05-25 19:20:50 · 295 阅读 · 0 评论 -
Mybatis的 @Mapper中如何用注解方式写动态Sql语句
正如我们所知在mapper文件中用注解的方式写一些普通的查询,删除sql语句格式都相对简单,而且一般我们如果有动态sql需要的话,可以采用把sql写在xml文件,然后根据Mapper内方法id进行匹配,实现我们复杂的查询或者循环添加等操作。但是如果不写xml文件而用@Mapper注解方式的话,那如何写动态SQL?首先如果注解写动态sql的话会用到 <script> </sc...原创 2019-12-29 23:00:16 · 7020 阅读 · 0 评论 -
Spring AOP 需要包含的各种包
如果你用 spring-framework-4.2.5.RELEASE-dist 去开发基于AOP的程序,除了要安装aspectJ1.7 ,然后包含aspectJ1.7 lib 下的包外, 额外还需要包含下面的包:com.springsource.com.mchange.v2.c3p0-0.9.1.2.jarcglib-2.2.2.jarcom.springsourc原创 2016-03-01 15:05:14 · 5782 阅读 · 0 评论 -
Spring AOP 各种拦截方法执行的顺序
AOPImpl.java==================package salesdepart.service.app;import org.aspectj.lang.annotation.*;import org.aspectj.lang.*;import org.springframework.core.annotation.Order;import原创 2016-03-01 15:30:10 · 5446 阅读 · 0 评论 -
Spring AOP 动态代理
与 AspectJ 相对的还有另外一种 AOP 框架,它们不需要在编译时对目标类进行增强,而是运行时生成目标类的代理类,该代理类要么与目标类实现相同的接口,要么是目标类的子类——总之,代理类的实例可作为目标类的实例来使用。一般来说,编译时增强的 AOP 框架在性能上更有优势——因为运行时动态增强的 AOP 框架需要每次运行时都进行动态增强。使用 Spring AOP原创 2016-03-01 16:48:14 · 807 阅读 · 0 评论 -
Spring: proxy-target-class 决定 用 CGlib 还是 JDK AOP 来生成代理
package salesdepart.service.app;import org.springframework.context.*;import org.springframework.context.support.*;import java.util.*;public class BeanTest { public static void main(Strin原创 2016-03-01 17:11:52 · 5328 阅读 · 0 评论 -
Spring Autowired
当候选 Bean 数目不为 1 时的应对方法 ,在默认情况下使用 @Autowired 注释进行自动注入时,Spring 容器中匹配的候选 Bean 数目必须有且仅有一个。当找不到一个匹配的 Bean 时,Spring 容器将抛出 BeanCreationException 异常,并指出必须至少拥有一个匹配的 Bean。我们可以来做一个实验: 清单 10. 候选 B原创 2016-03-01 20:02:31 · 586 阅读 · 0 评论 -
Spring 用注解方式来进行事务管理
使用步骤:步骤一、在spring配置文件中引入命名空间 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/sch原创 2016-03-01 20:37:32 · 443 阅读 · 0 评论 -
spring : HibernateDaoSupport,其中的sessionFactory并不能自动注入,只能手动
spring问题:dao继承了HibernateDaoSupport,其中的sessionFactory并不能自动注入,只能手动注入吗? 分享| 2012-02-19 12:14匿名 | 浏览 3733 次 编程语言我的dao 继承了spring提供的HibernateDaoSupport,我能够通过手动注入sessionFactory,如下:原创 2016-03-07 00:01:38 · 1954 阅读 · 0 评论 -
SpringMVC4+Hibernate4 问题汇总
Q1: SpringMVC4+Hibernate4运行报错Could not obtain transaction-synchronized Session for current thread...Answer1: 在web.xml中增加了filter就可以了。SpringOpenSessionInViewFilterorg.springframework.orm.hib原创 2016-03-07 14:04:34 · 1345 阅读 · 0 评论 -
使用Spring框架写JPA程序
1.不建议使用Spring的Support类。 虽然Spring提供JpaTemplate类和JpaDaoSupport类,还是建议使用DI的方式注入EntityManager。例子如下: @PersistenceContext private EntityManager em; 另外需要在XML里面注册2个bean。 class=转载 2016-03-08 16:25:14 · 860 阅读 · 0 评论 -
Spring 4.2.5 + Hibernate 4.3.11 + JPA + tomcat 集成
Spring 4.2.5 + Hibernate 4.3.11 + JPA + tomcat 集成 。本人在eclipse 4.4 上以run on server (Tomcat) 调试通过。配置文件为:applicationContext.xml xmlns="http://www.springframework.org/schema/beans"原创 2016-03-08 01:10:01 · 1653 阅读 · 0 评论 -
大话 CGLIB 和 JDK 生成动态代理类的那点事
AOP 使用的设计模式就是代理模式,是对IOC设计的补充。为了扩展性,往往会加上反射,动态生成字节码,生成代理类。 这里往往还会使用到DI,把代理的实现类通过依赖注入的方式,传给代理工厂。 关于生成动态代理类的方式有两种:JDK和CGLIB。 CGLIB,是一个开源工具。spring 和hibernate已经广泛使用。 关于AOP的概念解释网上有很多。 附件的内容是关于JD原创 2016-03-09 11:21:26 · 892 阅读 · 0 评论 -
Spring4.x 不再支持JpaTemplate和JpaDapSupport类了
与Spring 3.1更新了什么同等重要的是,Spring 3.1中哪些已经不再使用了。特别地,Spring的JpaTemplate和JpaDapSupport类以不被建议使用,取而代之的是EntityManager。即使它们已经不建议使用,它们依然在Spring 3.2中。但是你不应该使用它们,因为它们没有升级到支持JPA 2.0,且在Spring 4中已经被移除。原创 2016-03-09 15:42:35 · 2998 阅读 · 2 评论 -
Spring AOP: proxy-target-class 值的意思
Spring AOP中,有个选项如下: proxy-target-class="true"/> 注意:proxy-target-class属性值决定是基于接口的还是基于类的代理被创建。如果proxy-target-class 属性值被设置为true,那么基于类的代理将起作用(这时需要cglib库)。如果proxy-target-class属值被设置为false或者这个属性原创 2016-03-09 09:35:33 · 5077 阅读 · 0 评论 -
Spring 框架的设计理念与设计模式分析
这是一篇不错的文章,值得看看,点击下面的连接即可Spring 框架的设计理念与设计模式分析转载 2016-04-01 17:16:27 · 681 阅读 · 0 评论 -
Spring默认的Bean的scope
scope属性可以理解成bean的生命周期1、默认的值是singleton(単例),spring容器只会创建一个相应的bean实例,所有的对该bean的请求,spring容器都只返回这个实例。2、还可取值proptotype(原型) ,每次请求都会获得新的bean实例。3、还可取值request、session、global session等(不常用)原创 2016-03-09 16:56:57 · 8791 阅读 · 0 评论 -
对比: Java EE EJB和 Spring Java Bean
java ee EJB的 sfsb (状态session bean), slsb(无状态 session bean) 分别是 spring 中 scope为singleton和 prototype的 java bean.如果一个bean是prototype的,并且这个bean要被注入到其它bean或者你通过getBean这样的方式获得这个bean的时候,spring容器会创建一原创 2016-03-09 21:20:28 · 982 阅读 · 0 评论 -
Spring的作用域以及RequestContextListener作用
一、配置方式 在Spring2.0中除了以前的Singleton和Prototype外又加入了三个新的web作用域,分别为request、session和global session,如果你想让你的容器里的某个bean拥有其中某种新的web作用域,除了在bean级上配置相应的scope属性,还必须在容器级做一个额外的初始化配置。 Java代码转载 2016-04-05 00:35:24 · 367 阅读 · 0 评论 -
利用Spring随时随地获得Request和Session
一、准备工作:在web.xml中添加 org.springframework.web.context.request.RequestContextListener 二、使用方法: 1、方法一:通过代码实现 HttpServletRequest request转载 2016-04-05 00:58:42 · 737 阅读 · 0 评论 -
<tx:method/> 有关的设置
有关的设置这一节里将描述通过 标签来指定不同的事务性设置。默认的 设置如下:事务传播设置是 REQUIRED隔离级别是 DEFAULT事务是 读/写事务超时默认是依赖于事务系统的,或者事务超时没有被支持。任何 RuntimeException 将触发事务回滚,但是任何 checked Exception 将不触发事转载 2016-03-12 00:39:16 · 3466 阅读 · 0 评论 -
Spring transaction事务之roll back回滚: rollback-for
试验方法: 写一个单元测试,调用一个service层方法(发生对数据库进行写操作的方法--insert、update、delete)即可. applicationContext.xml 样子(如何设置rollback-for) spring事务管理 方法一--> bean id="transactionMana转载 2016-03-12 00:51:13 · 24146 阅读 · 1 评论 -
property和constructor-arg的使用
一:依赖注入的方式 constructor-arg:通过构造函数注入。 property:通过setxx方法注入。 二:constructor-arg的简单使用 java代码 Java代码 public class Man { private String name ; private int age;转载 2016-02-27 16:44:09 · 475 阅读 · 0 评论 -
Spring 的 init-method 和 destory-method
关于在spring 容器初始化 bean 和销毁前所做的操作定义方式有三种:第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作第二种是:通过 在xml中定义init-method 和 destory-method方法第三种是: 通过bean实现InitializingBean和 DisposableBean转载 2016-02-27 16:47:54 · 541 阅读 · 0 评论 -
在spring 中如何注入map,set,list,property等参数
] view plaincopypackage cn.dao; public interface PersonDao { public abstract void add(); } cn.dao.imp[java] view plaincopy转载 2016-02-27 16:55:18 · 1309 阅读 · 0 评论 -
Eclipse上安装springsource-tool-suite
http://jingyan.baidu.com/article/1612d5005fd087e20f1eee10.html转载 2016-02-27 23:20:09 · 746 阅读 · 0 评论 -
Tomcat 9 + Mysql 5.6 配置 JNDI 数据源
1:通过Connection Pool 管理数据库连接2:通过Data Source 去管理Connection Pool3: Data Source 被JNDI Tree 绑定 一:JNDI配置方式现在来讲一下如何到服务器上对 Data Source 进行配置?服务器: Tomcat 9数据库:MySQL5.6.23原创 2016-02-28 12:38:42 · 3204 阅读 · 0 评论 -
Spring4.1 AOP AspectJ支持包下载
Spring4.1 AOP AspectJ支持包下载发表于 2015 年 3 月 2 日使用Spring4.1框架进行面向切面编程时,所需要的AspectJ支持包来源于Eclipse下面的一下子项目AspectJ,可到此项目的官方地址下载AspectJ支持包。同时也要下载aopalliance包并添加到项目中。AspectJ项目地址为:http://www.ecli原创 2016-02-28 13:57:37 · 7148 阅读 · 0 评论 -
Spring: 使用关闭钩子销毁bean
Spring中关于bean的销毁有三种方法。分别是1)执行某一方法如destroy()方法,然后在标签上的destroy-method属性制定方法名就行了。2)实现DisopableBean接口的destroy方法,DispoableBean接口只有一个destroy方法,在bean销毁前调用。代码如下:[java] view plain copy原创 2016-02-29 00:32:10 · 10242 阅读 · 0 评论 -
Spring 官方 下载地址
http://repo.springsource.org/libs-release-local/org/springframework/spring/原创 2016-03-26 14:12:02 · 416 阅读 · 0 评论 -
hibernateTransactionManager 与REQUIRES_NEW的问题
业务场景: 外层一个大的事务,嵌套一个内层事务(如单据号获取后即递增更新到数据库),内层事务需独立提交(其原子性为了避免并发问题),不受外层事务影响(回滚或提交)。 现使用hibernateTransactionManager管理事务; 外层事务propagation="REQUIRED" 内层事务propagation="REQUIRES_NEW"执行时内层事务可以原创 2016-05-19 00:26:58 · 1485 阅读 · 0 评论 -
Spring的事务和Hibernate的事务有什么区别
Question:想了解一下Spring的事务和Hibernate的事务有什么区别?Hibernate的crud都用到了Transaction,在方法开始时,打开事务,然后结束时提交事务,当Hb与Sp协作时,对于一个运行在服务层且在spring事务中的方法A,调用了运行在Dao层的方法B和C,B,C的操作是通过hb实现的,我就是想不通如下两点:1 A方法调用B后,Hb事务不是提交了吗,也就原创 2016-05-19 01:02:11 · 2324 阅读 · 1 评论 -
Spring中的用到的设计模式大全
Spring中的设计模式原创 2016-04-01 16:01:06 · 15309 阅读 · 0 评论 -
Spring 事务机制详解
Spring事务机制主要包括声明式事务和编程式事务,此处侧重讲解声明式事务,编程式事务在实际开发中得不到广泛使用,仅供学习参考。 Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。我们在使用Spring声明式事务时,有一个非常重要的概念转载 2016-05-19 02:00:37 · 509 阅读 · 0 评论