你对Spring的理解

1.Spring实现了工厂模式的工厂类(在这里有必要解释清楚什么是工厂模式),这个类名为BeanFactory(实际上是一个接口),在程序中通常BeanFactory的子类ApplicationContextSpring相当于一个大的工厂类,在其配置文件中通过<bean>元素配置用于创建实例对象的类名和实例对象的属性。

2. Spring提供了对IOC良好支持,IOC是一种编程思想,是一种架构艺术,利用这种思想可以很好地实现模块之间的解耦。IOC也称为DIDepency Injection),什么叫依赖注入呢?

譬如,Class Programmer

{

       Computer computer = null;

       public void code()

       {

              //Computer computer = new IBMComputer();

              //Computer computer = beanfacotry.getComputer();

              computer.write();

       }

       public void setComputer(Computer computer)

       {

              this.computer = computer;

       }

}
另外两种方式都由依赖,第一个直接依赖于目标类,第二个把依赖转移到工厂上,第三个彻底与目标和工厂解耦了。在spring的配置文件中配置片段如下:

<bean id=”computer” class=”cn.itcast.interview.Computer”>

</bean>

 

<bean id=”programmer” class=”cn.itcast.interview.Programmer”>

       <property name=”computer”  ref=”computer”></property>

</bean>

3. Spring提供了对AOP技术的良好封装, AOP称为面向切面编程,就是系统中有很多各不相干的类的方法,在这些众多方法中要加入某种系统功能的代码,例如,加入日志,加入权限判断,加入异常处理,这种应用称为AOP。实现AOP功能采用的是代理技术,客户端程序不再调用目标,而调用代理类,代理类与目标类对外具有相同的方法声明,有两种方式可以实现相同的方法声明,一是实现相同的接口,二是作为目标的子类在,JDK中采用Proxy类产生动态代理的方式为某个接口生成实现类,如果要为某个类生成子类,则可以用CGLI B。在生成的代理类的方法中加入系统功能和调用目标类的相应方法,系统功能的代理以Advice对象进行提供,显然要创建出代理对象,至少需要目标类和Advice类。spring提供了这种支持,只需要在spring配置文件中配置这两个元素即可实现代理和aop功能,例如,

<bean id=”proxy” type=”org.spring.framework.aop.ProxyBeanFactory”>

       <property name=”target” ref=””></property>

       <property name=”advisor” ref=””></property>

 

</bean>


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring 是一个开源的 Java 框架,用于构建企业级应用程序。它提供了一个全面的编程和配置模型,使开发人员可以轻松地构建任何规模的应用程序。Spring 的主要特点是它的轻量级和松散耦合性,它可以集成其他框架和技术,并提供了大量的 API 和工具来帮助开发人员提高生产力。Spring 框架还包括许多子框架和项目,例如 Spring Boot、Spring MVC、Spring Data 等,这些子框架为不同方面的应用程序开发提供了更专业的支持。总之,Spring 是一个非常强大的框架,为 Java 开发人员提供了许多便利和灵活性,它已成为企业级应用程序开发的事实标准之一。 ### 回答2: Spring是一个非常流行的轻量级开源框架,用于构建Java企业级应用程序。它提供了一种简化应用程序开发的综合解决方案。 首先,我理解Spring是一个容器,它可以管理和组织Java对象的生命周期。通过Spring容器,我们可以轻松地创建和管理对象,将它们相互连接,并在需要时将它们注入到其他对象中。这大大减少了手动管理和实例化对象的麻烦。 其次,Spring还提供了一种松耦合的方式来组织和访问应用程序的各个层。通过使用依赖注入和面向接口编程的方式,我们可以将不同的组件解耦,并在需要时轻松进行替换或扩展。这使得应用程序更加模块化,可扩展和可测试。 此外,Spring还提供了许多有用的特性和模块,以帮助开发人员更高效地构建应用程序。例如,Spring MVC可以用于构建Web应用程序,提供了灵活的控制器和视图的开发方式。Spring AOP可以实现切面编程,用于实现横切关注点。Spring事务管理器可以简化对数据库事务的管理等。 总体而言,我认为Spring是一个非常强大和灵活的框架,它可以简化Java应用程序的开发和维护。它提供了丰富的功能和工具,帮助我们提高开发效率,并使应用程序更加可靠和可扩展。无论是开发小型项目还是大型企业级应用程序,Spring都可以成为我们的首选框架之一。 ### 回答3: Spring 是一个开源的、轻量级的、面向企业级应用开发的框架,它提供了一套全面的解决方案,用于简化Java应用程序的开发。 首先,Spring 封装了企业级开发中常见的模式和最佳实践,包括依赖注入(DI)、控制反转(IoC)等。通过 DI ,对象之间的依赖关系不再是硬编码,而是通过配置文件或注解进行管理,降低了组件之间的耦合性,提高了程序的可维护性和可测试性。通过 IoC ,Spring 负责创建和管理对象的生命周期,开发人员只需要关注业务逻辑的实现,而不需要关心对象的创建和销毁。 其次,Spring 提供了一系列的模块,包括但不限于:Spring MVC用于 Web 应用开发,Spring Data用于数据库访问,Spring AOP用于面向切面编程等。这些模块相互协作,提供了完整的开发解决方案。 此外,Spring 还具有良好的扩展性和可定制性。开发人员可以根据项目需求选择需要的模块和功能,灵活地组合和配置。同时,Spring 提供了大量的扩展点和扩展机制,可以通过编写自定义插件或继承已有组件进行功能扩展。 总的来说,Spring 是一个功能强大、灵活性高、易于使用的开发框架,它通过提供一系列的模块和解决方案,简化了企业级应用的开发和维护。同时,Spring 基于开放源代码的原则,社区活跃,文档丰富,提供了充足的支持和资源,使得它成为许多Java开发人员的首选框架。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值