spring/hibernate/mybatis
文章平均质量分 78
崔世勋
这个作者很懒,什么都没留下…
展开
-
@RequestParam无法获取参数
application/x-www-form-urlencoded是以表格的形式请求,而application/json则将数据序列化后才进行传递,如果使用了@RequestParam会在Content里面查找对应的数据,结果因为传递的数据已经被序列化所以不能找到,所以当要使用@RequestParam注解时候应当使用application/x-www-form-urlencoded,而如果想要使...转载 2019-11-12 14:58:25 · 5930 阅读 · 0 评论 -
spring boot2+redis
当然可以自己写redis的工具类,或者使用第三方开源jar包或代码,这里使用spring boot的集成类。1、pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-...转载 2019-10-29 16:40:40 · 235 阅读 · 0 评论 -
spring boot 2.0+vue 通过websocket 向前端推送信息
websocket协议基于tcp的网络协议,它实现浏览器与器全双工通信。spring boot2 +websocket1、添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-b...转载 2019-10-28 15:25:41 · 561 阅读 · 0 评论 -
MyBatis:There is no getter for property named '*' in 'class java.lang.String
出现这个错误,是因为mybatis默认OGNL解析参数,所以会自动采用对象树形式取String.xxx值。解决方法:方法1:在方法中提前定义public int methodName(@Param(value="state") String state ){ ...}方法2:把#{xxx}改为#{_parameter}即可。where <if test="...转载 2019-10-21 16:31:28 · 198 阅读 · 0 评论 -
mybatis if test不为空字符或null
<if test="extraSql != null and extraSql !=''"> AND ${extraSql}</if>转载 2019-10-21 16:25:28 · 1417 阅读 · 0 评论 -
druid
数据源配置这些配置项是DruidDataSource和DruidAbstractDataSource的public final 属性。name:配置这个属性的意义在于,如果存在多个数据源,监控的时候,可以通过名字来区分。如果没有配置,将会生成一个名字。 jdbcUrl:连接数据库的url,不同数据不一样。 username:连接数据库的用户名。 password:连接数据库的密码,...转载 2019-10-17 10:00:48 · 426 阅读 · 0 评论 -
spring事务和syncrhonizd锁的问题
由于Spring事务是通过AOP实现的,所以在synchronized修饰的方法执行前会有开启事务,之后会有提交事务逻辑,而synchronized代码块执行是在事务之内执行的,在syncrhonized代码块执行完时,事务还未提交,其他线程进入synchronized代码块后,读取的库数据不是最新的,所以会出问题。解决方法:把synchonized修饰的级别向上提一级,这样synchroni...转载 2019-10-13 13:35:02 · 574 阅读 · 0 评论 -
Spring PropertyPlaceholderConfigurer
Spring利用PropertyPlaceholderConfigurer占位符。 1.PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口一个实现。在XML文件中${key}可以用properties文件中值替换,这样只需要对properties文件进行修改,而不用对xml配置文件进行修改。...转载 2017-03-17 09:30:23 · 515 阅读 · 0 评论 -
spring mvc配置
复制代码<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.转载 2017-03-17 09:15:59 · 425 阅读 · 0 评论 -
基于Spring可扩展Schema提供自定义配置支持
在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的时候,会显得非常笨拙。一般的做法会用原生态的方式去解析定义好的xml文件,然后转化为配置对象,这种方式当然可以解决所有问题,但实现起来比较繁琐,特别是是在配置非常复杂的时候,解析工作是一个不得不考虑的负担。Spring提供了可扩展Schema的支持,这是一个不错...转载 2017-03-10 15:45:03 · 362 阅读 · 0 评论 -
Spring 注解
原文:http://blog.csdn.net/chjttony/article/details/6286144自动扫描为了让Spring能够扫描类路径中的类并识别出注解,需要在XML配置文件中启用Bean的自动扫描功能,这可以通过<context:component-scan />实现。 @Repository它用于将DAO层的类标识为Spring Bean,它还将所...转载 2017-03-10 11:20:28 · 368 阅读 · 0 评论 -
Spring配置文件被加载两次问题
工作中遇到Spring的配置文件被加载了两次,是由于使用ContextLoaderListener加载了一次,又被自己编写 的Servlet加载了一次导制的。 最后欢迎大家访问我的个人网站:1024s...转载 2017-03-10 09:59:01 · 908 阅读 · 0 评论 -
指定spring配置文件的位置 ContextLoaderListener DispatcherServlet
默认MVC配置文件在web.xml文件中配置:<!-- front controller --> <servlet> <servlet-name>annomvc</servlet-name> <servlet-class>org.springframework.web.servlet.Dispatche...转载 2017-03-10 09:54:59 · 1942 阅读 · 0 评论 -
spring autowired
一直有这样一个规则:所有在spring中注入的bean都建议定义成私有的域变量。 package com.cuihs; public class Boss { private Car car; private Office office; // 省略 get/setter @O...转载 2017-02-27 09:21:47 · 363 阅读 · 0 评论 -
Spring bean 初始和销毁前的操作。
方式1:通过@PostConstruct和@PreDestroy方法。从Java EE5开始,Servlet增加了两个影响Servlet生命周期的注解。方式2:通过在xml定义init-mehtod和destroy-method方法。方式3:通过bean实现InitializingBean和DisposableBean接口 。最后欢迎大家访问我的个人网站:1024s...转载 2016-11-11 17:25:09 · 477 阅读 · 0 评论 -
Spring方法拦截器MethodInterceptor
实现MethodInterceptor接口,在调用目标对象的方法时,就可以实现调用方法之前、调用方法过程中、调用方法之后对其进行控制。AOP提供从另一个角度来考虑程序结构以完善OOP。 (1)Aspect:一个关注点的模块化,事务管理是J2EE应用中一个很好的关注点例子。Aspect用Spring的Advisor或拦截器实现。(2)Jointpoint:程序执行过程中明确的点,如方...转载 2017-11-30 15:55:54 · 1109 阅读 · 0 评论 -
spring-jar包详解
spring.jar是包含有完整发布模块的单个jar包。但是不包括mock.jar,aspects.jar,spring-portlet.jar,spring-hibernate2.jar。1.spring-aop这个包含了在应用中使用spring 的aop特性时所需的类和源码级元数据支持,使用基于AOP的spring特性,如声明型事务管理,外部依赖spring-core 2.sp...转载 2017-11-21 14:12:39 · 375 阅读 · 0 评论 -
spring 注解源码分析-扫描和读取bean定义
1.概述从spring2.0以后的版本中,spring也引入了基于注解方式的配置,注解是jdk1.5中引入的一个新特性,用于简化Bean的配置,某些场合可以取代xml配置文件。Spring IoC容器对于类级别的注解和类内部的注解分以下两种策略:(1)类级别的注解:spring容器根据注解的过滤规则扫描读取注解Bean定义类,并将其注册到Spring IoC容器中。(2)类内部的注...转载 2017-11-21 15:02:37 · 2657 阅读 · 2 评论 -
spring注解源码分析-解析和注入注解配置的资源
类内部的注解,如@Autowire、@Value、@Required、@Resource以及EJB和WebService相关的注解,是容器对Bean实例化和依赖注入时,通过容器中注册的Bean后置处理处理这些注解的。当使用Spring的注解功能时, <context:annotation-config> < context:component-scan >...转载 2017-11-21 15:29:25 · 1797 阅读 · 0 评论 -
Spring @Import注解
@Import注解支持导入配置类,也支持导入普通的java类,并将其声明成一个bean。 package com.wisely.spring4_2.imp;public class DemoService { public void doSomething(){ System.out.println("everything is all fine"); ...转载 2017-11-21 16:55:51 · 5918 阅读 · 0 评论 -
Spring注解 @AliasFor
提供@AliasFor注解,来给注解的属性起别名,让使用注解时,更加的容易理解(比如给value属性起别名) @MainBean(beanName = "mainbean")public class Main { public static void main(String[] args) { AnnotationConfigApplicationContex...转载 2017-11-21 17:03:57 · 13570 阅读 · 10 评论 -
扩展Spring的几种方式
1.基于XML配置的扩展从Spring2.0开始,Spring提供了XML Schema可扩展机制,用户可以自定义XML Schema文件,并自定义XML Bean解析器,并集成到Spring IoC容器中。不管是bean的定义,还是Spring自身的配置,早期都是通过xml配置完成的。1.定义schema(xsd)要支持XML的配置方式,首先需要定义一套XML Schema来描述...转载 2017-11-23 11:05:30 · 694 阅读 · 0 评论 -
Spring Aware
Spring的依赖注入的最大亮点就是你所有的Bean对Spring容器的存是没有意识的。即你可以将的容器替换成别的容器,这里Bean之间的耦合度很低。但在实际的项目中,我们不可避免的要用到Spring容器本身的功能资源,这时候Bean必须要意识到Spring容器的存在,才能调用Spring所提供的资源,这就是所谓的Spring Aware。其实Spring Aware本身就是Spring设计用转载 2017-11-23 11:17:44 · 278 阅读 · 0 评论 -
Spring BeanDefinitionRegistry
该类的作用是向注册表中注册BeanDefinition实例,完成注册过程。 // 关键 -> 往注册表中注册一个新的 BeanDefinition 实例 void registerBeanDefinition(String beanName, BeanDefinition beanDefinition)throws BeanDefinitionStoreException;转载 2017-11-23 14:33:20 · 1343 阅读 · 0 评论 -
Spring Bean RuntimeBeanReference
在Spring ,Bean的解析阶段,会把xml配置中的标签解析成spring中的BeanDefinition对象,我们知道bean可能需要依赖其它的bean,如: 在Spring的解析段,其它容器中是没有依赖的Bean的实例的,因此这个被依赖的Bean需要表示成RuntimeBeanReferenc对象,并将它放到BeanDefinition的MutablePropertyVa转载 2017-11-23 16:17:44 · 2234 阅读 · 0 评论 -
Spring Mergeable
Mergeable代表一个对象的值组可以和父对象的值组进行合并的接口。其主要子类有ManagedList, ManangedArray, ManangedMap, ManangedProperties, ManagedSet。 public List<E> merge(Object parent) { List<E> merged = new ...转载 2017-11-23 16:24:13 · 927 阅读 · 0 评论 -
spring钩子方法和钩子接口的使用详解
Aware接口族Spring中提供了各种Aware接口,方便从上下文中获取当前的运行环境,比较常见的几个接口有:BeanFactoryAware, BeanNameAware, ApplicationContextAware, EnvironmentAware, BeanClassLoaderAware等,这些Aware的作用都可以从命名得知,并且其使用也是十分简单。 Initi...转载 2017-11-27 09:46:07 · 2944 阅读 · 0 评论 -
Spring BeanDefinition及读取、注册
BeanDefinition及其实现类这个接口描述bean的结构,它集成了BeanMetadataElement和AttributeAccessor。1.AttributeAccessor接口类似于map,具有保存和访问name/value属性的能力。public interface AttributeAccessor { void setAttribute(Strin...转载 2017-11-23 15:57:10 · 1156 阅读 · 0 评论 -
Spring Bean的生命周期
spring中有三种bean容器:BeanFactory、ApplicationContext、WebApplicationContext。ApplicationContext我们通常使用ApplicationContext作为Spring容器,第一个ApplicatioinContext的生命周期。而实际上BeanFactory也差不多的,只不过处理器需要手动注册。(1)B...转载 2017-11-27 10:58:39 · 320 阅读 · 0 评论 -
InstantiationAwareBeanPostProcessor
BeanPostProcessor如果我们需要在spring容器完成Bean的实例化、配置和其他的初始化前后添加一些自己的逻辑处理,我们就可以定义一个或者多个BeanPostProcessor接口的实现,然后注册到容器中。BeanPostProcessor接口有两个方法需要实现:postProcessBeforeInitialization和postProcessAfterInitiali...转载 2017-11-27 11:08:11 · 1420 阅读 · 0 评论 -
aop:aspectj-autoproxy,SpringAOP拦截Controller,Service实现日志管理(自定义注解方式)
可以用拦截器,也可以用aop。第一步定义注解: @Target({ElementType.PARAMETER, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface SystemControllerLog { St...转载 2018-01-15 09:14:27 · 642 阅读 · 0 评论 -
Spring 注解@Value
Spring通过注解获取*.properties文件的内容,除了xml配置外,还可以通过@value方式获取。@value需要参数,这里参数可以是两种形式@Value("#{configProperties['t1.msgname']}")或者@Value("${t1.msgname}"); 1.@Value("#{configProperties['t1.msgname']}"这种...转载 2018-04-08 09:41:45 · 248 阅读 · 0 评论 -
spring security四种实现方式
1.最简单配置spring-security.xml,实现1 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:security="http://www.springframework.org/schema/security" xmlns:p="http://www.sp...转载 2018-03-28 15:26:29 · 502 阅读 · 0 评论 -
spring事务--Propagation
Spring提供了声明式事务,为了对事务的精细控制,spring提供了事务的传播属性。PROPAGATION_REQUIRED这是默认的传播属性值,如果当前已经存在事务,那么加入该事务,如果不存在事务,创建一个事务。@Transactionalpublic void service(){ serviceA(); serviceB();}@Transaction...转载 2018-04-04 16:15:04 · 348 阅读 · 0 评论 -
Spring security
SecurityContext&Authenticationorg.springframework.security.core.context.SecurityContext接口表示的是当前应用的安全上下文。通过此接口可以获取和设置当前的认证对象。org.springframework.security.core.Authentication接口用来表示此认证对象。通过认证对象的方法可...转载 2018-03-29 13:52:19 · 716 阅读 · 0 评论 -
Spring Security Core Plugin 一
配置默认值在插件的DefaultSecurityConfig.groovy文件中. 在应用中可以通过grails-app/conf/application.groovy和grails-app/conf/application.yml进行应用级配置.(1) 默认的只有POST请求才会触发登录, 为了允许GET访问, 添加grails.plugin.springsecurity.logo...翻译 2018-04-12 13:46:04 · 281 阅读 · 0 评论 -
Spring Security Core Plugin 二 (领域类)
Person Class自定义时username, enabled 和password是必备三个属性, 另外还需要定义一个authorities属性或getAuthorities方法.package com.mycompany.myappimport groovy.transform.EqualsAndHashCodeimport groovy.transform.ToString...翻译 2018-04-12 14:04:22 · 266 阅读 · 0 评论 -
Spring Security Core Plugin 三(配置Request Mappings)
方式一: @Secure方式二: application.groovy方式三: Requestmap 保存在数据库中.悲观锁定默认rejectNoRule = true,那么所以没有配置的URL用户都不可访问另外一个配置是fii.rejectPublicInvocations, 如果rejectNoRule是false,那么前者为true时,没有配置的URL访问会抛出Ill...翻译 2018-04-12 14:44:24 · 514 阅读 · 0 评论 -
Spring Security Core Plugin 四(Filters)
filterNames通过rails.plugin.springsecurity.filterChain.filterNames来定制过滤器.grails.plugin.springsecurity.filterChain.filterNames = [ 'securityContextPersistenceFilter', 'logoutFilter', 'authenti...翻译 2018-04-12 15:24:00 · 417 阅读 · 0 评论 -
hibernate create create-drop update validate
(1)create 启动时删数据库中的表,然后创建,退出时不删除数据表(2)create-drop,启动时删数据库中的表,然后创建,退出时自动删除所有表(3)update ,如果表结构与实体类不一致,那么就修改表使它们一致,数据会保留。(4)validate,自动检验,如果表结构与实体类不一致,那么不做任何操作,报错 最后欢迎大家访问我的个人网站:1024s。...转载 2018-04-18 17:19:19 · 1339 阅读 · 0 评论