I am using Spring to display messages from a properties file. I would like to be able to override the tag to use a value from a database
You don't need to change the behaviour of , you just need to change the place it gets its messages from.
By default, it uses the messageSource bean in the context, which is of type MessageSource, or some subclass thereof. You can write your own class that implements MessageSource and add that to your context as the messageSource bean.
AbstractMessageSource is just a convenient starting point for writing your own MessageSource. It does some of the work for you, just subclass it.