传统开发方式:
UserService us=new UserServiceImpl();
us.say();
OCP原则:
open-程序具有扩展性;
close-程序的修改尽量减少关闭;
Spring IOC实现思路:
//创建一个工厂类,通过工厂类创建UserService接口的实现类UserServiceImpl对象,这样减少接口和实现类的耦合性。
//工厂+反射+配置文件(bean)
class Factory{
` public static UserService getObject(){`
` return new UserServiceImpl();`
` }`
}
UserService userService=Factory.getObject();
userService.say();
在Application.xml中
<bean id="userService" class="com.cy.UserServiceImpl">
` <property name="name" value="李四">`
</bean>
IOC(控制反转),将原来在程序中手动创建对象UserService对象的控制权,交由Spring框架管理。
简单的说,就是创建UserService对象的控制权被反转到Spring框架啦
DI(依赖注入),就是在Spring创建这个对象的过程中,将这个对象所依赖的属性注入进去。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。