
spring
文章平均质量分 53
淘气的高老板
污,孤傲,高冷,薄情,悲天悯人的高老板
展开
-
Spring boot(18) spring mvc请求参数的校验和处理规范
一.参数校验1.需要参数校验的场景(1)调用频次低的方法。(2)执行时间开销很大的方法。(3)需要提高稳定性和可用性的方法。(4)对外提供的开放接口,api、rpc、http等。(5)敏感权限的入口。2.不需要校验参数的场景(1)极有可能被循环调用的方法。(2)底层调用频度比较高的方法。一般有错误提前就暴露了。(3)被声明成私有方法。能够保证传入的参数提前做过检查。二,参数的传入http是个文本协议原创 2017-06-22 17:18:26 · 2751 阅读 · 0 评论 -
Spring mvc(3)如何获取所有的requestMapping
Java 代码@AutowiredApplicationContext context;private Map<Object, Object> requestMappings() { Map<String, Object> map = context.getBeansWithAnnotation(Controller.class); Map<Object, Obj原创 2017-07-05 16:53:29 · 3430 阅读 · 0 评论 -
ajax跨域访问4解
一,java代码放开,这样前端感受不到跨域的异同 @RequestMapping("/getlefttimes") @ResponseBody String getLeftTimes(HttpServletRequest req, HttpServletResponse resp) { /* 跨域 begin */ resp.setHeader("Access-Control-A原创 2016-06-02 17:05:04 · 629 阅读 · 0 评论 -
从0开始写一个基于注解的轻量级分布式RPC框架(4)自定义Spring的IOC,自定义属性注入bean的过程
代码已经发布在GIT 源代码 自定义注解@SReference注解@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ ElementType.FIELD, ElementType.METHOD })public @interface SReference {}如何让这个注解所标注的属性可以被Spring注入相关的bean?方法1原创 2017-08-19 12:34:34 · 728 阅读 · 0 评论 -
从0开始写一个基于注解的轻量级分布式RPC框架(3)让Spring加载自定义注解
如何让我们自定义的注解可以像 @Service @Controller @Componet等被Spring加载到应用上下文?方法1 自定义注解添加能被Spring识别的注解比如@Component下面的例子增加了@Component于是自定义注解@SService 可以通过它来获取上下文中被@SService注解的bean。@Documented@Retention(RetentionPolicy原创 2017-08-19 00:33:20 · 1015 阅读 · 0 评论 -
深入了解spring mvc
springboot与Springmvc一样,都用了web-mvc这个包 我们先看一下mvc的流程 我们打开这个类DispacherServlet,它其实是个Servlet 找到doDispatch方法 protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Ex原创 2017-10-04 15:22:07 · 629 阅读 · 0 评论 -
拦截器的执行顺序
1. 依次建立3个拦截器public class BootInterceptor implements HandlerInterceptor { /* 1 */ public boolean preHandle(HttpServletRequest req, HttpServletResponse resp, Object arg2) { StackTraceEleme原创 2017-10-04 16:19:55 · 1262 阅读 · 0 评论 -
Spring boot(20) Spring /Spring boot使用AOP、强制使用cglib(以记录方法耗时为例子)
1. Spring boot1.1 Spring boot默认使用了AOP和动态代理RPC,AOP都会用到代理,代理的技术有jdk的Proxy代理(必须传入接口),cglib(可以是类而非接口, spring),Javassist(jboss )而Spring boot本身也在方方面面使用了代理技术。 我们看下Spring boot的依赖 <dependency>原创 2017-08-08 16:00:40 · 15352 阅读 · 2 评论 -
动手实现mvc(1),Java桥接方法(待续)
在阅读Spring boot的mvc源码的时候,发现Spring mvc 检查了好多method.isBridge()来判断是否是桥接方法。 桥接方法是Java编译后再生成的方法。 举例:1. 没有生成桥接方法public interface ITest{ <T> T test (T t);}public class Test implements ITest { @Over原创 2017-10-14 20:40:56 · 357 阅读 · 0 评论 -
服务器实时通知客户端方案,服务器发送/推送事件方案(2)server event,典型例子,可以用作股票、新闻信息推送
server event是html5规范的一部分,它相比websocket使用起来更简单,对服务器的改动也最小前端html部分 if(typeof(EventSource)!=="undefined") { var source=new EventSource("doevent"); //打开连接 source.onopen=function(原创 2016-11-14 15:59:13 · 5027 阅读 · 4 评论 -
mvc 返回中文字符串乱码,返回集合中含有中文不乱码的问题
@RequestMapping("/hello") public String hello() { return "你好"; } @RequestMapping("/hello2") public Object hello2() { return "你好"; } @RequestMapping("/hello3")原创 2018-03-30 10:55:56 · 1057 阅读 · 0 评论 -
linux 的java写程序报异常java.net.InetAddress.getLocalHost(InetAddress.java:1505)解决
linux 的java写程序报异常java.net.InetAddress.getLocalHost(InetAddress.java:1505)解决在一台机器上部署带有spring boot admin 的程序的时候 发现注册不上,仔细看启动的日志发现错误日志如下:2017-04-25 17:32:15,613 ERROR (NoopDiscoveryClientAutoConfiguratio原创 2017-04-25 17:47:49 · 3644 阅读 · 0 评论 -
Spring boot(18) 深入理解SpringBoot
Manifest-Version: 1.0Implementation-Title: boot Maven WebappImplementation-Version: 0.0.1-SNAPSHOTArchiver-Version: Plexus ArchiverBuilt-By: BAOStart-Class: com.bao.boot.AppImplementation-Vendor-原创 2017-05-16 11:43:03 · 1017 阅读 · 0 评论 -
Linux(1) 配置防火墙
配置表的位置/etc/sysconfig/iptables重启service iptables restart查看防火墙状态service iptables status启动service iptables start关闭service iptables stop原创 2016-08-15 17:58:21 · 480 阅读 · 0 评论 -
Spring 定时任务 示例
spring-quartz.xml的配置原创 2014-07-16 19:39:04 · 684 阅读 · 0 评论 -
tomcat redeploy内存溢出的问题
tomcat 内存溢出原创 2016-09-09 13:45:06 · 6042 阅读 · 2 评论 -
缓存注解 Cachealble CacheEvict CachePut 浅谈,以及conditions和ulessSpEL表达式
在之前,我们采用的进程缓存可以是ConcurrentHashMap,加了锁的LinkedHashMap,WeakHashMap,以及Google guava Cache,需要自己定义或者实现缓存过期处理以及LRU等。这些本地有以下缺点:①和自己业务逻辑耦合度高。②难以整合其他的缓存方案。spring3之后可以通过注解来配置缓存。通过很少的代码就可以提供缓存功能,让代码变得更优雅。sprin原创 2016-08-04 10:14:42 · 7272 阅读 · 3 评论 -
Redis学习(3.1)spring boot整合Redis速成
spring boot redis原创 2016-08-03 14:11:04 · 7306 阅读 · 1 评论 -
REDIS学习(4)spring boot redisTemplate 对REDIS的简单封装,以及对引用包的说明,以及对序列化的详细说明
综合1,2,3以及目前,我们所引用的redis包不过是 org.springframework.boot spring-boot-starter-redis 添加进来后引用包至少有spring-boot-starter-redis-1.3.5.RELEASE.jarspring-data-redis-1.6.4.RELEASE.jarjedis-2.7.原创 2016-08-10 17:28:40 · 30485 阅读 · 0 评论 -
nginx + tomcat ,session共享的问题
目前nginx.conf的部分配置如下访问接口,几次访问后发现, 如果连续nginx导向同一个tomcat则sessionId是同一个,但是如果中途导向其他的tomcat,即使再导向之前的tomcat,sessionId也已经发生变化了,session判断的机制是,在客户端的cookie存一个jsessionid,当浏览器访问的时候,会从cookie中判断是否是同一用户,如原创 2016-08-12 14:32:44 · 1803 阅读 · 0 评论 -
java 使用拦截器统计每个http请求的响应时间
以spring boot为例,注意拦截器是单利 ,因此不要使用成员变量记录时间,而是通过setAttribute,getAttribute来传送时间。@Configurationpublic class BootWebAppConfigurer extends WebMvcConfigurerAdapter { @Override public void addInterceptors(原创 2016-09-18 20:53:44 · 18704 阅读 · 4 评论 -
spring boot(6) 使用数据库连接池druid
只要简单两步即可a.application.properties配置spring.datasource.type=com.alibaba.druid.pool.DruidDataSourceb.DruidTool.java/** 数据库连接池druid的配置 */@Configurationpublic class DruidTool { public sta原创 2016-06-02 16:54:43 · 4200 阅读 · 0 评论 -
spring boot(7) 配置外部tomcat(1)
一,POM配置为打成war包war二,打包去掉内嵌tomcatorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-tomcatorg.springframework.bootspring-boo原创 2016-07-29 09:57:07 · 3394 阅读 · 0 评论 -
Spring boot(9) 的异常,以及异常页面的处理
一,如果发生错误,返回的页面内容如下Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Thu Aug 04 16:02:48 CST 2016There was an unexpected error原创 2016-08-04 17:48:32 · 31355 阅读 · 2 评论 -
Spring boot(15) spring boot admin server作为普通工程的时候,无法访问static文件夹下的静态资源
目前想将spring boot 添加到自己的权限系统中但是发现只要pom.xml引用 de.codecentric spring-boot-admin-server 1.3.2 de.codecentric spring-boot-admin-server-ui 1.3.2 就会出现访问不倒static下静态资源的情原创 2017-02-28 18:38:59 · 2872 阅读 · 0 评论 -
Spring原理概述
本文为转过来,对Spring进行了总体上的说明,有益于建立对Spring的总体把握和认识。 1、spring原理spring的最大作用ioc/di,将类与类的依赖关系写在配置文件中,程序在运行时根据配置文件动态加载依赖的类,降低的类与类之间的藕合度。它的原理是在applicationContext.xml加入bean标记,在bean标记中通过class属性说明具体类名、通过转载 2015-04-08 13:34:11 · 543 阅读 · 0 评论