Sunday, February 9, 2014

For My Baby Boy



Declaration of Independence

When in the Course of human events, it becomes necessary for one baby to dissolve the umbilical bands which have connected him with his mother, and to assume among the powers of the earth, the separate and equal station to which the Laws of Nature and of Nature’s God entitle him, a decent respect to the opinions of mankind requires that he should wait exactly 40 weeks and one day and then cause his mama’s water to break at 9pm so as to make known that which impels him to the separation.

Tuesday, August 28, 2012

How those Spring @Enable* Annotations work

Spring's Java Config is a great way to configure your application without writing a lot of configuration code.  One reason is those awesome @Enable* annotations that let you magically set up things like Transactions (@EnableTransactionManagement), Spring MVC (@EnableWebMvc) or timed jobs (@EnableScheduling) with a simple class level annotation on your configuration class. These simple statements provide a lot of functionality but their machinations are fairly obscure.  On the one hand, it's great to get so much functionality for so little work, but on the other hand, if you don't understand how something works it makes debugging and problem solving much harder.  I couldn't find any posts or documents that covered how those annotations work so I figured I would write up one based on the research I did while debugging.  I don't work for Spring and I didn't write any of this code so please post any corrections or improvements in the comments and I'll update the post.