spring使用的设计模式