![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
mr_orange_klj
这个作者很懒,什么都没留下…
展开
-
Springboot内部方法调用,aop切面失效处理办法
aop失效原因是因为通过方法内部调用切面方法时,不是通过代理对象调用方法,因此无法被拦截。具体原因及解决办法可参考此文章:Springboot内部方法调用,aop切面失效 - 清晨的第一抹阳光 - 博客园...原创 2021-11-09 22:12:09 · 3384 阅读 · 0 评论 -
spring Aop中aop:advisor 与 aop:aspect的区别
在spring的配置中,会用到这两个标签.那么他们的区别是什么呢? <bean id="testAdvice" class="com.myspring.app.aop.MyAdvice"/> //切面代码 使用<aop:aspect>配置时, 如果切面代码是自动注入的bean,那么<aop:aspect>的ref属性直接写be...转载 2018-09-01 16:07:36 · 316 阅读 · 0 评论 -
org.mybatis.spring.mapper.MapperScannerConfigurer
spring和mybatis整合的关键:org.mybatis.spring.mapper.MapperScannerConfigurer 类作用整合处理要<bean>org.mybatis.spring.SqlSessionFactoryBean之外,还需要这个,扫描所有的mapper。——————————————————以下是具体的内容<bean class="org.myb...原创 2018-05-15 13:08:31 · 2362 阅读 · 0 评论 -
context:component-scan base-package="" 与context:annotation-config
在spring-servlet.xml或者applicationContext.xml中声明<context:component-scanpackage="com.a"/>可以隐式地向该上下文注册AutowiredAnnotationBeanPostProcessor、RequiredAnnotationBeanPostProcessor、CommonAnnotationBeanPos...原创 2018-05-15 11:41:05 · 234 阅读 · 0 评论 -
hibernate懒加载解决方式之一
hibernate的懒加载有多种解决方式,这里是我使用的其中一种。hibernate版本:5.2.9.FINAL场景:有一个记录用户信息的user表,还有一个部门表department,user表里有一个外键字段department_id 对应department表的id,表示该用户所在的部门。因此hibernate的实体类中,User类有一个成员变量是department。在DAO类原创 2017-12-28 21:16:33 · 638 阅读 · 0 评论 -
spring aop final方法
Spring AOP默认使用cglib,会生成目标对象的子类代理对象。调用目标对象的方法,实际上是调用代理对象的方法。由于子类能够继承父类的方法,因此一般情况下目标类的方法,代理对象都会有。但是当目标类中某个方法带有final关键字时,这个方法不能被重写,因此代理对象中没有这个方法,因此会调用目标对象的方法。比如以下代码:@Servicepublic class Car{原创 2017-12-27 14:57:27 · 2438 阅读 · 0 评论 -
final方法在Spring AOP中的注意事项
注意:Spring AOP默认使用cglib会生成目标对象的子类,然后调用set时会直接设置被代理对象的data,所以造成了target的data没有设置。 当你调用get方法时因为是final 所以没有被代理 直接调用的是目标对象的,所以是null。彻底解决方案如:http://jinnianshilongnian.iteye.com/blog/1678800 。挺蛋转载 2017-12-27 14:17:38 · 1534 阅读 · 0 评论 -
Java过滤器与SpringMVC拦截器之间的关系与区别
过滤器和拦截器的区别: ①拦截器是基于Java的反射机制的,而过滤器是基于函数回调。 ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 ③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 ④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。 ⑤在action的生命周期中,拦截器可以多次被调用,而过滤器只转载 2017-12-19 01:27:59 · 156 阅读 · 0 评论 -
non-compatible bean definition of same name and class [x
错误代码:2009-33-18 13:33:33, 388 [org.springframework.web.context.ContextLoader] [ERROR]Context initialization failedorg.springframework.beans.factory.BeanDefinitionStoreException: Unexpected excep转载 2017-12-25 23:58:56 · 1075 阅读 · 0 评论 -
spring AspectJ的Execution表达式
在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点"例如定义切入点表达式 execution (* com.sample.service.impl..*.*(..))execution()是最常用的切点函数,其语法如下所示: 整个表达式可以分为五个部分: 1、execution(): 表达式主体。转载 2017-12-16 14:15:16 · 180 阅读 · 0 评论 -
HibernateProxy异常处理 java.lang.UnsupportedOperationException: Attempted to serialize java.lang.Class:
这里使用google的Gson包做JSON转换,因为较早的1.4版本的FieldAttributes类中没有getDeclaringClass()这个方法,这个方法是获取field所属的类,在我的排除策略中会用到。排除策略 最简单的gson转换可以是这样的,但却没有多少实际的作用。切面日志时,一个实体和其他实体存在关联,这时候就需要通过自定义排除策略决定如何转换关联对象,否则可能出转载 2017-12-16 13:04:32 · 4123 阅读 · 2 评论 -
Spring SmartLifecycle 在容器所有bean加载和初始化完毕执行
转自:https://blog.csdn.net/catoop/article/details/71274561在使用Spring开发时,我们都知道,所有bean都交给Spring容器来统一管理,其中包括没一个bean的加载和初始化。 有时候我们需要在Spring加载和初始化所有bean后,接着执行一些任务或者启动需要的异步服务,这样我们可以使用 SmartLifecycle 来做到。S...转载 2018-08-29 16:22:40 · 308 阅读 · 0 评论 -
关于Spring JavaWeb工程中的ContextRefreshedEvent事件@Component public class SpringHandlersProvider implements
转自:https://www.cnblogs.com/halu126/p/ContextRefreshedEvent.html 在应用启动时,通常想在此时预加载一些资源,全局使用。Spring会在操作应用上下文时,使用ApplicationEventPublisher触发相关ApplicationContextEvent,我们可以监听这些事件来做一些事情。Spring中App...转载 2018-08-29 16:26:58 · 235 阅读 · 0 评论 -
Transactional注解指定rollbackFor或者在方法中显示的rollback
在写代码时看到阿里巴巴代码规范提醒需要在Transactional注解指定rollbackFor或者在方法中显示的rollback究其原因需先看异常的分类error是一定会回滚的 这里Exception是异常,他又分为运行时异常RuntimeException和非运行时异常可查的异常(checked exceptions):Exception下除了RuntimeException外的异常不...转载 2019-08-27 17:24:39 · 1471 阅读 · 0 评论 -
SpringBoot2.0之CORS跨域配置并保持登录
原文链接:https://www.jianshu.com/p/e102fd47150b本文主要记录了如何使用SpringBoot2.0配置CORS实现跨域,来解决前(Vue)后(SpringBoot)分离中带来的跨域问题。并实现Session登录后允许携带Cookie来保持登录的状态。** 主要内容: **1.问题描述2.配置跨域3.允许携带Cookies4.完整配置1.问题描...转载 2019-06-18 10:23:14 · 682 阅读 · 0 评论 -
SpringBoot 多个profile支持 (不使用Spring Cloud情况下)
Springboot支持多个不同环境的profile进行切换,以提供不同环境下的配置。一、如何创建多个不同的profile1.在application.yml中,通过yml多文档块实现。server: port: 8082spring: profiles: active: prod---spring: profiles: devserver: port...原创 2019-05-28 15:29:49 · 793 阅读 · 0 评论 -
Spring Boot推荐使用JAVA代码作为配置
在 https://docs.spring.io/spring-boot/docs/2.1.2.RELEASE/reference/htmlsingle/#getting-started-first-application-auto-configuration中写到:15. Configuration ClassesSpring Boot favors Java-based confi...原创 2019-01-12 22:19:41 · 350 阅读 · 0 评论 -
Spring中Configuration的理解
基本用途从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。例如: @Confi...转载 2019-01-12 19:36:13 · 392 阅读 · 0 评论 -
Spring Cloud Config入门(本地配置)
转自:https://www.cnblogs.com/zcr3108346262/p/7602314.htmlspring cloud config 简介Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。 Spring Cloud Config 分为两个部分 ,server端...转载 2018-11-30 19:38:31 · 177 阅读 · 0 评论 -
springboot自定义http反馈状态码
原文:https://blog.csdn.net/minicto/article/details/73468493 最近在开发一些http server类型程序,通过spring boot构建一些web程序,这些web程序之间通过http进行数据访问、共享,如下图,假设现在client发起一次保存数据的请求到server,server可能会返回如下类似的数据{ "status...转载 2019-01-11 16:43:32 · 752 阅读 · 0 评论 -
Spring Cloud Config 资源文件与URL地址映射
Spring Cloud会将配置映射为"/{application}/{profile}"URL地址和资源文件映射如下:/{application}/{profile}[/{label}] /{application}-{profile}.yml /{label}/{application}-{profile}.yml /{application}-{profile}.propert...原创 2018-11-30 23:13:29 · 3865 阅读 · 0 评论 -
《Spirng微服务实战》开篇阅读感受
今天,此时此地,在我生日的前两天的凌晨,我推荐这本《Spring微服务实战》,就像多年前我在社交软件“陌陌”上将我最爱的书籍写为《How Tomcat Works》一样。 当我翻开这本书,只读了前三页之后,我就感觉到这是一本适合我的书籍,因为它的内容简直就像是我写的。它把我所有在软件工程和云计算方面杂乱、数量庞大的概念串联起来。合上这本书的时候,一个清晰...原创 2018-10-27 02:47:19 · 205 阅读 · 0 评论 -
SpringMVC @PathVariable 映射 URL 绑定的占位符 /{xxx}
带占位符的URL是Spring3.0新增的功能,该功能在SpringMVC向REST目标挺进发展过程中具有里程碑的意义。通过@PathVariable可以将URL中占位符参数绑定到控制器处理方法的入参中:URL中的{xxx}占位符可以通过@PathVariable("xxx") 绑定到操作方法的入参中。转载 2017-12-25 12:08:01 · 1557 阅读 · 0 评论 -
Spring配置之OpenSessionInViewFilter
参考: OpenSessionInViewFilter作用及配置:http://www.yybean.com/opensessioninviewfilter-role-and-configuration http://blog.csdn.net/fooe84/article/details/680449 主要涉及类: org.springframework.orm.hibern转载 2017-12-16 02:45:55 · 308 阅读 · 0 评论 -
使用注解为HibernateDaoSupport注入sessionFactory
http://blog.csdn.net/tsingheng/article/details/8847047都知道spring提供的有零配置功能,而且看见别人的一个项目使用spring+mybatis,只在applicationContext.xml里定义了sqlSessionFactory,然后什么都不用配置了,baseDao继承自SqlSessionDaoSuppo转载 2017-12-15 17:23:49 · 262 阅读 · 0 评论 -
SpringMvc4中获取request、response对象的方法
springMVC4中获取request和response对象有以下两种简单易用的方法:1、在control层获取在control层中获取HttpServletRequest和HttpServletResponse对象有以下两种简单方式:1)通过方法参数直接在action类中获取@Controllerclass Action{ @RequestMa转载 2017-11-23 23:58:43 · 291 阅读 · 0 评论 -
在spring的bean中获取servletcontext
我的需求是获取spring开发的web项目在服务器上的绝对路径。 进而引申到我需要知道servletcontext,因为servletcontext有一个servletcontext.getrealpath("/");方法,这个方法就能获取项目的绝对路径。 常规方式下我们如何获取servletcontext呢?我们需要让我们的类继承httpservlet类,然后获取servle转载 2016-11-06 15:15:25 · 1111 阅读 · 0 评论 -
spring MVC配置详解
现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。 一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0)转载 2016-05-05 17:37:47 · 411 阅读 · 0 评论 -
如何查看现有项目的struts和hibernate和spring版本
1. struts的版本信息查看 struts.jar\META-INF\MANIFEST.MF再查看 Implementation-Version看后面的数字..Manifest-Version: 1.0Specification-Title: Struts FrameworkClass-Path: commons-beanutils.jar commons-c原创 2015-06-01 17:57:46 · 521 阅读 · 0 评论 -
普通java类中获取bean
ApplicationContext ac = new FileSystemXmlApplicationContext("webroot/web-inf/applicationContext.xml");SessionFactory sf = (SessionFactory) ac.getBean("sessionFactory");原创 2015-01-16 15:17:34 · 408 阅读 · 0 评论 -
整合Struts2与Spring以及spring的自动装配(转)
一、需要的JAR文件为:Spring和Struts2框架本身需要的JAR文件以及他们所依赖的JAR文件,比如commons-logging.jar等等,另外还需要Struts2发布包中的struts2-spring-plugin-x.xx.jar。 二、整合过程:(1)在web.xml中增加WebApplicationContext的相应配置,以下两种配置方式本质是一样的。1.转载 2015-01-16 15:24:47 · 458 阅读 · 0 评论 -
jsp中获取bean
ServletContext context = request.getSession().getServletContext();ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(context);UserService us = (UserService)ctx.getBea原创 2015-01-16 15:21:02 · 536 阅读 · 0 评论 -
给sturts Action类注入spring bean的几种已测试、可行的方法
在struts和spring中配置两次,在spring中将action配置为bean。struts中class属性为spring中bean id,依靠property标签注入,需要设置set和get方法。只在struts中注册一次(class属性是全限定名),令action中属性名与bean id/name一致,自动完成注入。无需设置set和get方法。需注意,如果bean i原创 2015-01-16 15:28:15 · 1553 阅读 · 0 评论 -
Struts2中Action由自己与由Spring管理的区别(转)
struts2单独使用时action由struts2自己负责创建;与spring集成时,action实例由spring负责创建。这导致在两种情况下struts.xml配置文件的略微差异。假如:LoginAction在包cn.edu.jlu.cs.action中。1. struts2单独使用时,action的class属性为LoginAction的全路径名,如下:..转载 2015-01-16 15:26:54 · 495 阅读 · 0 评论 -
IntelliJ idea JPA实体类 提示 Cannot resolve column “id”
You have to associate your data source (create a data source in database view first - aka your real JDBC database connection) with a persistence unit or session factory (hibernate.cfg.xml).Follow原创 2017-12-13 11:27:23 · 15201 阅读 · 0 评论 -
idea 搭建maven构建的springmvc+hibernate
1.create new project 如下图新建项目,注意勾选 create from archetype填写好group id等信息后,一路下一步2.在pom.xml里添加依赖,我的pom.xml:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or原创 2017-12-13 16:35:10 · 238 阅读 · 0 评论 -
idea spring托管hibernate并生成hibernate 实体类映射
第一种方式:勾选生成JPA注解,并在applicationContext.xml中的sessionFactory的bean标签中添加:name="packagesToScan" value="model"/>这样不需要*.hbm.xml文件,spring会扫描model包下的类,并根据jpa注解与对应的表建立关联第二种方式:生成model.hbm.xml,不勾选JPA注解,这样在mod原创 2017-12-13 16:59:10 · 1032 阅读 · 0 评论 -
MyEclipse2017搭建 pringMVC4.1+Hibernate3.3
1.新建web project。1)在Package Explorer空白处右键点击鼠标,选择New-->Web Project2)这里项目名叫做springmvc3)点击下一步,然后选择“Generate web.xml deployment descriptor”,这样项目中会包含web.xml,不用自己再创建了。点击"Finish"完成。4)将sp原创 2017-11-27 14:10:20 · 2037 阅读 · 0 评论 -
mybatis整合spring报java.lang.AbstractMethodError: org.mybatis.spring.transaction....
异常原因是由于mybatis-spring包版本不对,我使用的是spring4.3.1 mybatis3.4.5,应该选择mybatis-spring1.3.1版本。修改后,能够正常查询。原创 2017-12-14 16:33:36 · 465 阅读 · 0 评论 -
dispatch-servlet.xml与applicationContext.xml
dispatcher-servlet.xml(在你的项目中也可能写作springmvc-serlvet.xml、spring-serlvet.xml等等)和applicationContext.xml中的根元素都是,两者也同样都可以托管java bean,那么两者的区别何在呢?spring允许你使用树形的结构定义多个上下文,而applicationContext.xml定义的是“r原创 2017-11-25 19:39:03 · 2292 阅读 · 0 评论