为什么我要避免代码中的对象实例化并使用Spring框架?

看,当我们向新手解释Spring Framework时,我们会说我们希望避免代码中的新对象实例化,Spring会注入依赖关系。因此,我们将解释IoC和DI。 我的问题是:   “与传统的实例化相比,我们为什么要进行Spring实例化?” 答案是更好的对象管理吗?或者只是利用IoC和DI? 请列出具体答案和解释。我想知道可能是什么原因。     
已邀请:
恕我直言,Springs依赖注入支持并鼓励使用良好的编程实践,例如使用接口(按类型注入)和将事物模块化到不同的层而不是编写大型类(如果你曾见过“旧的一切都在Servlet中”-webapps ,你可能知道我的意思)。由于只需简单的注释(如@Autowired)或通过XML配置即可轻松完成注入服务或DAO对象,因此模块化应用程序既快速又简单。 我仍然没有办法通过Spring处理所有内容的实例化,你仍然可以使用new创建对象,如果对象是Spring不需要知道它们或者你只是在某处使用它们来移动数据层等 有些人抱怨Spring的xml配置。使用Spring 3.0,新注释可以非常快速地进行编码和简单配置,并且您的XML配置文件只需要包含软件的实际配置,而不是所有实际上永远不会更改的注入和“配置”。例如,几年前,我们使用Spring 2.5构建了一个相对简单的内部应用程序(它确实有一些注释,但我们没有使用它们),并且xml配置文件的大小总共超过1000行快速。目前,我们有一个Spring 3.0项目,XML文件只包含100行,这些内容在构建项目后实际上需要配置。     
我认为spring比直接对象实例化更好,因为spring配置明显与其他代码分开。这使得组件松散耦合。由于松耦合,很容易更换/修改一个组件而不影响其他组件。这使代码可维护,更重要的是可测试,从而产生更高质量的软件。     
因为这使您专注于开发组件,并使您免于开发锅炉板代码以单向设置这些组件。 通过使用Spring,每个人都可以使用您的应用程序,并使用自己的实现替换组件,例如自己的身份验证提供程序,而不会干扰应用程序的其余部分。 此外,它还使您无需编写显式配置文件处理,因为Spring配置是应用程序配置。 Spring非常适合许多人部署和使用大型应用程序。     
谨慎使用它。 IOC非常适合测试驱动开发,因为很容易用'test'组件替换组件。 确切了解应用程序中的组件非常重要。 IOC并不是要取代实例化的所有用途。     

要回复问题请先登录注册