spring的的特性和用法

2024-11-29 05:32:18
推荐回答(2个)
回答1:

一、Spring框架的特性

Spring框架主要用于与其他技术(struts,hibernate等)进行整合,可将应用程序中的Bean组件实现低耦合关联.最终可以提高系统扩展和维护性。 将来我们利用Spring框架管理系统的各个组件(Action,Service,DAO)采用Spring的IOC和AOP机制实现各组件的关联.从而实现了低耦合调用.增强了系统可维护性和扩展性.

二、Spring框架容器的基本使用

Spring框架的核心是提供了一个容器,该容器可以对Bean组件进行管理,例如创建Bean对象,销毁一个Bean对象等操作.此外该容器还具有IOC和AOP高级特性,将Bean对象调用解耦.

1、 Spring容器配置

(1)创建工程,在src下引入applicationContext.xml配置文件,并添加spring-ioc开发包

在applicationContext.xml中声明定义Bean组件格式:

(2)Spring容器如何实例化

BeanFactory-->ApplicationContext(推荐)

ApplicationContext ac = 

new ClassPathXmlApplicationContext("xml配置文件");

ac.getBean("标识符");//获取Bean组件对象

(3)Spring容器如何管理Bean组件

    a、控制Bean组件对象的创建方式

元素利用scope属性.Spring可以控制Bean对象创建方式. 默认情况下scope属性可以用singleton和prototype两种值.

singleton:采用单例方式创建(默认采用)

prototype:采用(原型)非单例方式创建

---------------------------------------------------   

在以后Web环境中,scope还可以有几个扩展属性值.

request:将Bean对象与request对象绑定.

session:将Bean对象与session对象绑定.

---------------------------------------------------

  b、Bean组件对象的创建时机

singleton模式:当实例化Spring容器时,会创建所有的单例对象。可以在元素中使用lazy-init属性控制,将对象创建时机延迟到第一次调用getBean方法。 prototype模式:在调用Spring容器的getBean方法时创建。

 c、指定Bean组件对象创建后初始化和销毁处理方法

指定初始化方法:利用元素的init-method属性指定, 指定销毁方法:利用元素的destroy-method属性指定。该属性仅对scope="singleton"有效。

回答2:

一个是IoC,所谓“控制反转”,其实就是不用new操作符得到业务模型对象。例如:
Student s=new StudentImpl()得到一个 Student对象,在Spring中可以用 (Student)context.getBean("student")得到,context是Spring上下文对象。
spring中注意的一个设计模式是面向接口编程。Student实际是一个接口,如果你主动初始化Student,注意后面的“StudentImpl”这个类名被硬编码到你的类中了。用context.getBean方法不存在这样的问题,因为"student"这个bean是在文本的配置文件中配置的,如这样就实现了组件的解耦,我可以把Student接口的实现改成StudentNew而仅仅需要改Spring的配置文件。
另外一个AOP,这也是重要的特性,像事务性、安全性的逻辑不需要写在每个需要这些功能的类中,仅仅需要在配置文件配置即可。这样你写的类代码就更简洁、注重于它实际需要解决的问题。
Spring是流行的Java EE框架,轻量的。
如果要学,建议看 Spring In Action这本书,比较适合初学者。