标签:annotation

Spring MVC Mapping重复定义

发表于8年前(Apr 17, 2015 8:46:59 PM)  阅读 4466  评论 0

分类: Java

标签: annotation spring mvc mapping AbstractHandlerMethodMapping registerHandlerMethod 映射覆盖

1、背景

用过Spring MVC的都清楚一点,controller中的url mapping是不能重复的,如果重复定义了url,在Spring容器初始化时,将会报出"Ambiguous mapping found. Cannot map ***  There is already **  mapped."的错误。追寻源码,mapping的建立可以追溯到spring-webmvc.jar包AbstractHandlerMethodMapping中的registerHandlerMethod方法:

	protected void registerHandlerMethod(Object handler, Method method, T mapping) {
		HandlerMethod newHandlerMethod = createHandlerMethod(handler, method);
		HandlerMe
......

Spring配置多数据源进行数据同步

发表于8年前(Jan 20, 2015 4:59:00 PM)  阅读 9317  评论 4

分类: Java 数据库 案例

标签: 数据同步 annotation 多数据源 多事务 动态切换 AOP 反射 模型转换 AbstractRoutingDataSource PlatformTransactionManager

本文主要可以解决以下几个问题:

Spring如何配置多数据源、多事务,以及如何动态切换。

Spring AOP机制的运用,以及对同一个切面(Joint Point)多个处理方法(Advice)执行顺序的设置,即AOP的Order的设定。

自定义注解Annotation的实现以及使用。

使用Java反射机制配合Annotation实现异构模型之间的自动转换。

网站配置的一种设计实现方法

发表于8年前(Jan 7, 2015 11:22:17 AM)  阅读 1803  评论 0

分类: Java 案例

标签: 网站配置 annotation

1、网站配置:

一个网站都有很多配置选项,如笔者的博客里面就有基本配置、阅读配置、评论配置等:

有了这些配置管理功能,我们在开发时就不需要硬编码,可以实现在线修改配置选项,不需要重启服务。这是一个网站很常见的做法。

2、简单实现:

一般来说,实现这个配置管理很简单,建立一个配置实体类,映射数据库中的一个表,无非就是对这个实体实现增删改查。后期如果要修改,比如增加了一个配置选项,那就修改实体类,增加属性,增加数据库字段,修改页面,可能要修改对应的合法性验证。虽然修改的地方较多,但也没那么麻烦,都是简单的体力劳动,也没什么费劲的。

3、多个配置怎么办:

如果系统里面就一两个这样的配置,采用上面的方法很快就完成了,但如果系统中有很多这样的配置,那工作量就有点大了。这时我们就会偷下懒了,就要想到继承了,看看配置是不是基本都是相似的。而且,难道我们给每一个配置建立一个对应的映射表,每个表里n多字段只有一条数据,这样好像有点浪费。