
Java Spring
邓志国77
写越多代码,越觉得自己不会的东西太多。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
用AOP自动管理Session数据
在互联网应用开发中,由于涉及到分布式运算,一般来说都是不使用容器默认的Session管理的,如Tomcat。因为这些容器的Session管理,默认是基于单机的(Tomcat可以配置为用Memcache管理Session,这里不谈)。这种情况下,我们一般用Redis之类的高速缓存来保存Session,然后把SessionId通过Cookie下发到浏览器。那么在编程的时候,大量方法需要读取Sess原创 2016-11-29 09:19:16 · 1301 阅读 · 0 评论 -
对Spring 的RestTemplate进行包装
Spring的RestTemplate及大地简化了REST Client的开发,但每次还要编写大量的模板代码,代码不够简洁。我对他进行了一次包装,采用接口来声明REST接口,使用Annotation对interface的方法进行标注。如下声明一个REST接口//接口必须继承BaseRestClient,提供了一个setUrl的基本方法。public interface ITestRest exte原创 2016-12-14 17:20:01 · 1924 阅读 · 0 评论 -
Spring boot中用Profile配置多个环境参数
一般我们在开发中,都有多套环境,比如数据库配置,有:开发、测试、发布三个环境。如果人工修改,一方面浪费人力,一方面也容易乱中出错。Spring提供了profile的功能,可以配置多套配置,在运行时指定使用那套,这样代码只要一套,运行时加入不同参数就可以了。如数据库配置application.ymlspring: profiles: dev datasou原创 2016-11-24 12:24:11 · 12486 阅读 · 0 评论 -
Spring boot配置Junit
加入依赖包:spring-boot-starter-test在Junit类加上@RunWith(SpringJUnit4ClassRunner.class)@SpringBootTest(classes = {Application.class})Application.class是你系统定义的启动Application原创 2016-11-24 12:34:41 · 2498 阅读 · 0 评论 -
在spring中通过Profile配置不同环境下log配置
一般我们在开发的时候,希望log打到控制台上,而在发布的时候,希望打到文件里面。在spring里面可以通过profile进行切换。在application.yml里面,每个profile增加logging: config: classpath:log-dev.xml指向不同的配置文件,在配置文件里面加载日志配置如:原创 2016-12-07 10:58:13 · 2924 阅读 · 0 评论 -
一个Java无锁的高性能对象Buffer
最近有个小功能,需求是多线程写,单线程读。 考虑采用AtomLong作为写的指针,用一个2的N次方长度的数组作为Buffer的存储,超出后自动循环,不扩容。 读由于是单线程,采用普通long作为指针即可。 代码如下: private T[] buffer; private int remMask; private long readPointer=0; priva原创 2016-12-15 10:04:53 · 454 阅读 · 0 评论 -
Spring服务发现、动态路由、断路器
服务发现服务发现是Eureka的服务器,引入这个服务,在Application上加入 @EnableEurekaServer即可,无需任何其他操作。每个服务配置一个application name,方便区分。多个可以构建成集群,相互注册。spring: application: name: eureka1-server profiles: firstserver: po原创 2016-12-24 12:39:05 · 2183 阅读 · 0 评论 -
Spring内部方法性能监控器
想要一个能监控Spring项目内部方法的监控器,看看调用次数,最大最小时间,平均时间等一些数据,数据5分钟统计一次就可以。找了一圈没找到合适的,就自己撸了一个。原理使用者在外面用AOP拦截需要监控的方法。我是使用一个自定义的注解作为拦截条件。使用Around方式声明AOP,并在拦截中调用Monitor的方法。@Aspect@Componentpublic class Performance原创 2016-12-27 16:13:22 · 2337 阅读 · 0 评论