
spring
Bruce_Json
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
springMVC返回js代码片段
第一种方式比较灵活,如果没有走判断还是能返回视图,推荐使用writer(),只能打印输出文本,不可以打印对象,print(),不仅可以打印输出文本,还可以将一个对象以默认的编码方式转换为二进制字节输出在servlet中的话,PrintWriter是不必关闭的,因为response会帮你关闭,如果自己用PrintWriter的话,还是得关闭。顺带说一句,调用close时已经隐式地调用flus...原创 2020-05-07 20:45:05 · 1195 阅读 · 0 评论 -
spring IoC——工厂方法注入
有时候,静态工厂方法是实例化对象的唯一方法,Spring支持通过<bean>元素的factory-method属性来装配工厂创建的Bean。单例模式(设计模式):public class DbUtilsSingleton { private DbUtilsSingleton(){} private static class DbUtilsSingleton...原创 2018-09-03 20:14:12 · 342 阅读 · 0 评论 -
spring IoC (IDEA)—— 基于注解的AOP
Spring除了支持Schema(XML)方式配置AOP,还支持注解方式,使用@AspectJ风格的切面声明。Spring默认不支持@AspectJ风格的切面声明,需要进行配置。1.开启AOP注解配置 <aop:aspectj-autoproxy/>2.在切面类上和方法上增加注解package com.etc.service.impl;import org...原创 2018-09-08 14:40:26 · 421 阅读 · 0 评论 -
spring IoC (IDEA)—— 基于XML配置的Spring AOP
XML方式是我们在实际项目中使用比较多的,在我们没有切面类类的源代码时或者使用第三方的切面类时,就不能使用注解的方式,而且使用注解方式时,一旦程序编译后就不可以修改了。如果使用XML方式就不一样了,我们只需要修改XML文件就可以。1.在pom.xml中引入依赖 <dependency> <groupId>org.aspectj</groupId&g...原创 2018-09-08 14:31:27 · 512 阅读 · 0 评论 -
spring IoC —— AOP的术语
1.通知(Advice)切面有它的目的——它真正要做的工作,在AOP术语体系中,切面真正要做的工作称之为通知(advice)。通知负责定义切面是什么和何时使用——即这个切面负责什么工作,以及何时执行这个工作。应该在方法调用前执行切面的任务?还是在方法调用后执行切面的任务?还是应该在方法调用之前和之后都执行切面的任务?还是仅仅在方法调用抛出异常时执行切面的任务?Spring切面支持以下五...原创 2018-09-08 11:24:21 · 256 阅读 · 0 评论 -
spring IoC (IDEA)—— 动态代理
jdk动态代理jdk静态代理实现比较简单,一般是直接代理对象直接包装了被代理对象。只能为一个被代理类服务,如果需要代理的类比较多,那么会产生过多的代理类。jdk静态代理在编译时产生class文件,运行时无需产生,可直接使用,效率好。jdk动态代理是接口代理,被代理类A需要实现业务接口,业务代理类B需要实现InvocationHandler接口。必须实现接口,通过反射来动态代理方法,...原创 2018-09-08 11:20:23 · 650 阅读 · 0 评论 -
spring IoC (IDEA)—— 静态代理
1.什么是代理为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。 代理模式所讲的就是现实生活中的这么一个概念:中介。2.静态代理静态代理的模式在平时生活中也很常见,比如买火车票,我们可以通过代售点进行买票行为...原创 2018-09-08 11:07:28 · 313 阅读 · 0 评论 -
spring IoC (IDEA)—— 使用注解装配Bean
spring容器对于Bean的创建和对象属性的依赖注入提供了注解的支持,让我们在开发中能够更加便捷的实现对象的创建和对象属性的依赖注入。1.对于Bean的创建spring容器提供了以下四个注解的支持(1)@Component注解,表示该类定义为Spring管理Bean,使用默认value(可选)属性表示Bean标识符。(2)@Repository:@Component扩展,被@Repo...原创 2018-09-08 10:39:41 · 2109 阅读 · 0 评论 -
spring IoC (IDEA)—— 声明和获取Bean
1、声明一个Bean <bean id="s1" name="student,stu" class="com.etc.entity.Student">2、获取bean方式1(根据id来获取,常用,但需要类型强转) Student student1 = (Student) context.getBean("s1");方式2(根据id来获取,常用...原创 2018-09-08 09:18:03 · 1049 阅读 · 0 评论 -
spring AOP——理解AOP通过动态代理对事务管控
假设我们使用JDBC技术操作数据库时我们的步骤是1、打开连接2、执行语句3、异常回滚4、无异常正常执行5、关闭资源下面我们来看一个小例子的,细心的读者注意,如果我们将拦截器的实现方法里修改成对应的对数据库操作方法,那么我们在实际使用中,其他处理工作AOP按照约定的流程自动为我们完成了,我们就只需要执行SQL这一步,就能实现对数据库的操作ProxyBeanFactor...原创 2018-09-05 10:48:26 · 665 阅读 · 0 评论 -
使用JDK动态代理实现拦截器
实现拦截器我们需要三个步骤:编写接口——实现接口——JDK动态代理中添加拦截器编写接口package com.intercept;import java.lang.reflect.Method;public interface Interceptor { /** * 真实对象前调用 * @param proxy 代理对象 * @param target 真实对象...原创 2018-09-05 00:07:32 · 564 阅读 · 0 评论 -
SSM (IDEA) —— Spring和MyBatis整合
一、官方教程http://www.mybatis.org/spring/zh/index.html二、创建Web项目注意添加:archetypeCatalog(internal)三、添加依赖包项目主要依赖的jar包有Spring核心包、Spring AOP包、MyBatis包、MyBatis-Spring适配包、JSTL、JUnit、Log4j等,具体的pom.xml文件如下:...原创 2018-09-09 10:14:03 · 407 阅读 · 0 评论 -
spring IoC (IDEA)——IDEA中log4j配置
src/main/resources目录下创建log4j.properties #全局配置log4j.rootLogger=ERROR,stdout#Spring日志记录log4j.logger.org.springframework.beans.factory=DEBUG#控制台输出配置log4j.appender.stdout=org.apache.log4j.Consol...原创 2018-09-03 10:55:02 · 579 阅读 · 0 评论 -
No primary or default constructor found for interface java.util.List
在controller层参数位置加上@RequestParam(value ="")即可原创 2019-07-29 12:16:03 · 3103 阅读 · 0 评论 -
springMVC——控制层传回JSON对象和JSON字符串
1、传回JSON对象实体类 private String username; private String password; private List<String> daylist = new ArrayList<String>();控制层中通过属性consumes = "application/json"限制前台传递过来的数据格式必须是JSON,属性...原创 2018-09-15 12:12:20 · 1383 阅读 · 0 评论 -
springMVC——将url中的参数转成实体
控制层package com.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMe...原创 2018-09-15 10:27:27 · 2285 阅读 · 0 评论 -
SSM (IDEA) —— Spring,MyBatis和SpringMVC整合
一、官方教程http://www.mybatis.org/spring/zh/index.html二、创建Web项目注意添加:archetypeCatalog(internal)三、添加依赖包项目主要依赖的jar包有Spring核心包、Spring AOP包、MyBatis包、MyBatis-Spring适配包、JSTL、JUnit、Log4j等,具体的pom.xml文件如下:...原创 2018-09-11 08:49:20 · 169 阅读 · 0 评论 -
springMVC——解析不同格式的JSON字符串
格式一 function userinfo(username, password){ this.username = username; this.password = password; } function sendAjax1(...原创 2018-09-13 22:17:55 · 306 阅读 · 0 评论 -
springMVC中使用@RequestBody处理Ajax数据报415错误问题和常用状态码说明
springMVC中使用@RequestBody接收前台Ajax数据报415错误问题博主遇到这个问题折腾了很久,网上找了好多资料,解决方法差不多都试过,还是一直报415错误,最后解决办法是换了jar版本。不知道什么原因,我一直用的是4.39版本的jar,最后换成4.0版本的jar成功解决了这个问题。可是我不觉得是jar版本问题,然后又换回4.39版本,又报415错误,再换回4.0版本,却没这个...原创 2018-09-13 09:45:06 · 657 阅读 · 0 评论 -
spring MVC——文件上传和下载
1、文件上传Spring MVC为文件上传提供了直接的支持,这种支持是通过即插即用的MultipartResolver实现的,Spring使用Commons FileUpload技术实现了一个MultipartResolver的实现类:CommonsMultipartResolver。2、文件下载SpringMVC提供了一个ResponseEntity类型,使用它可以很方便地定义返回的...原创 2018-09-10 15:03:52 · 197 阅读 · 0 评论 -
使用Ajax传递和接收数据,实现注册和注册成功后跳转
返回状态信息实体类省略get和set private String stauts; private String msg;控制器 @RequestMapping(value = "register", method = RequestMethod.POST, consumes = "application/json",produces = "applic...原创 2018-09-16 12:16:49 · 1715 阅读 · 0 评论 -
spring IoC——属性注入
注入简单值简单值包括基本类型+String。配置如下:<bean id="s1" class="com.etc.entity.Student"> <property name="no" value="2015001001"></property> <property name="name&原创 2018-09-03 20:27:02 · 242 阅读 · 0 评论 -
实现JDK动态代理和CGLIB动态代理
JDK动态代理jdk动态代理需要借助接口才能产生代理对象步骤:实现接口——代理对象和真实对象建立代理关系——实现代理对象的代理逻辑方法建立代理关系:主要通过bind方法完成Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), this);实现代...原创 2018-09-05 00:00:09 · 201 阅读 · 0 评论 -
spring MVC——拦截器实现登录检测和性能监控
1. 拦截器简介Spring MVC中的拦截器,类似于Servlet开发中的过滤器Filter,主要用来拦截用户的请求并进行相应的处理,可以用来做日志记录、权限验证或者登陆检测。(1) 常见的应用场景日志记录:记录请求信息的日志,以便进行信息监控、信息统计、计算PV(Page View)等。权限检查:如登录检测,进入处理器检测检测是否登录,如果没有直接返回到登录页面;性能监控:...原创 2018-09-11 11:54:54 · 1734 阅读 · 0 评论 -
spring AOP——动态代理
AOP通俗来说就是在不改动程序的基础上实现更好的增强,也就是通过代理的方式,继承自那个类,然后实现那个类全部方法,并在方法中增强,如果想对某个类进行功能性增强,那么 只需要将这个类让代理类处理就可以了,在哪方面增强由代理类决定。代理分为静态代理和动态代理静态代理:代理对象与被代理对象必须实现同一个接口,完整保留被代理对象的接口样式,并且保持接口不变的原则,主要缺点是绑定了固定接口,扩展性不...原创 2018-09-01 13:25:45 · 315 阅读 · 0 评论 -
spring IoC——注入常用数据类型
applicationContext中需要对Test中的值进行注入,并且把Test注入到TestRun中,在Test中添加了init方法,init方法调用是xml中指定的init-method属性在取得bean实例,并对属性值进行注入后自动执行的,此方法可以解决注入后对属性值进行继续更改的操作,注入基本数据类型使用value<?xml version="1.0" encoding=...原创 2018-08-25 16:48:58 · 663 阅读 · 0 评论 -
spring AOP——静态代理
AOP通俗来说就是在不改动程序的基础上实现更好的增强,也就是通过代理的方式,继承自那个类,然后实现那个类全部方法,并在方法中增强,如果想对某个类进行功能性增强,那么 只需要将这个类让代理类处理就可以了,在哪方面增强由代理类决定。代理分为静态代理和动态代理静态代理:代理对象与被代理对象必须实现同一个接口,完整保留被代理对象的接口样式,并且保持接口不变的原则,主要缺点是绑定了固定接口,扩展性不...原创 2018-09-01 12:33:15 · 475 阅读 · 0 评论 -
spring IoC——注入bean实例
在spring中IoC容器占据了很核心的功能,通过IoC容器可以完全 管理java Bean ,包括创建,销毁,还可以对数据库的java Bean进行自动化的事务处理,IoC的容器是实现了BeanFctory接口的实现类,ApplicationContext是BeanFactory的子接口,BeanFactory接口提供了最基本的对象管理功能,子接口AplicationContext提供了更多的功...原创 2018-08-25 13:34:58 · 671 阅读 · 0 评论 -
spring——多个applicationContext.xml配置使用
有时我们需要将不同类型的注入分解到不同功能的配置文件中,这种情况我们需要使用<import>标签来导入其他配置文件,这样才可以在IOC容器中通过这个applicationContext.xml主配置文件进行注入操作applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xm...原创 2018-08-27 19:25:57 · 1674 阅读 · 0 评论 -
spring各版本和apache commons下载地址
spring下载地址:http://repo.springsource.org/libs-release-local/org/springframework/spring/apache.commons下载地址:http://commons.apache.org/原创 2018-08-23 11:08:44 · 1238 阅读 · 0 评论 -
spring IoC——注入外部属性文件的属性值
我们在开发数据库项目时,会将数据库的连接放入属性文件中,这时我们需要使用spring中提供的PropertyPlacholderConfigurer类,将属性文件中的值取出来注入类的属性中applicationContext中使用PropertyPlacholderConfigurer类将properties从classpath路径加载到内存中,然后通过${}的方式,指定属性文件中的key...原创 2018-08-26 21:41:26 · 351 阅读 · 0 评论 -
spring——singleton和prototype作用域
IOC容器对Bean的管理有5种作用域:Singleton、Prototype、request、session、globalSessionSingleton作用域代表在IOC容器中只有一个Bean的实现,一个实例Protorype作用域代表当使用getBean()方法取得一个Bean时,IOC容器新建一个指定Bean实例,多实例applicationContext中scope为pr...原创 2018-08-26 20:47:42 · 627 阅读 · 0 评论 -
spring IoC——构造方法注入
简单类型的注入Student类 String name; int age; String gender;配置方式1:index=0的注入到第一个参数,index=1的注入到第二个参数,Spring 3推荐使用该方法。<bean id="student2" class="com.etc.entity.Student"> <c...原创 2018-08-26 18:15:50 · 1082 阅读 · 0 评论 -
spring AOP——MethodBeforeAdvice接口实现方法执行前通知
方法执行前通知(可以理解为方法执行前“增强”)需要实现接口:MethodBeforeAdviceinterfacepackage com.inter;public interface HelloInter { public void hello();}helloImplpackage com.impl;import com.inter.HelloInter;...原创 2018-09-01 15:19:54 · 8636 阅读 · 1 评论 -
spring AOP——AfterReturningAdvice接口实现方法执行后通知
方法执行后通知(可以理解为方法执行后“增强”)需要实现接口:AfterReturningAdviceinterfacepackage com.inter;public interface HelloInter { public void hello();}helloimplpackage com.impl;import com.inter.HelloInte...原创 2018-09-01 15:56:03 · 3864 阅读 · 0 评论 -
spring AOP——MethodInterceptor接口实现方法执行前后环绕通知
方法执行前后环绕通知(可以理解为方法执行前后环绕“增强”)需要实现接口:MethodInterceptorinterfacepackage com.inter;public interface HelloInter { public void hello();}helloImplpackage com.impl;import com.inter.HelloI...原创 2018-09-01 16:24:23 · 2226 阅读 · 0 评论 -
springMVC——在服务器端获取JSON字符串并解析的两种方式
实现将在服务器获取客户端传来的JSON字符串,并把JSON字符串转成JSON对象并取得其中属性值方式1:解析JSON字符串使用json.jar来实现,需要新增jar如下首先在web中配置spring 编码过滤器,防止乱码 <filter> <filter-name>encodingFilter</filter-name> <...原创 2018-09-02 14:59:53 · 8815 阅读 · 0 评论 -
springMVC——匹配URL路径执行指定控制层
springMVC中可以将指定URL模式地址肯指定访问Controller的路径进行关联与匹配,如果某一个访问Controller控制层的UTL与该URL模式进行匹配,则调用匹配的Controller控制层controller中的url路径如下,访问时我们只需匹配格式就能完成访问@RequestMapping("/hello/{userId}")@PathVariable 或者 @Pa...原创 2018-09-02 13:47:07 · 2387 阅读 · 0 评论 -
springMVC——控制层重定向到控制层
控制层重定向到控制层有两种情况,有参数传递,无参数传递。重定向到控制层的典型情况是登录成功后重定向list显示数据实现重定向关键代码只需要在return字符串中加入前缀:redirect:一、无参数传递:return "redirect:/listname.spring";Loginpackage com.controller;import org.springframe...原创 2018-09-02 11:56:02 · 2073 阅读 · 0 评论 -
springMVC——在控制层中指定方式处理get和post提交方式
我们可以在控制层中使用method = RequestMethod.xx的方式指定处理提交方式配置springMVC.xml中扫描的控制层<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:...原创 2018-09-02 11:35:53 · 2438 阅读 · 0 评论