欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring基本概念

程序员文章站 2022-05-09 16:24:47
...

Ioc(控制反转):应用本身不负责依赖对象的创建和维护,而是交给外部容器负责的。这样控制权就由应用转给容器。

DI(依赖注入):在运行期,由外部容器动态地将依赖对象注入到组件中。

轻量级:框架使用服务的多少。spring默认是轻量级框架。

实例化spring容器

ApplicationContext ax=new ClassPathXmlApplicationContext("pring.xml");
AbstractApplicationContext abx=new ClassPathXmlApplicationContext("pring.xml");

    第二个方法可是实现close()方法关闭容器

获得spring的xml中的bean

ax.getBean("service");

创建bean类的三种方法

1、使用类构造器实例化

<bean id="" class=""/>

    再通过实例化容器,用getBean()获得bean

2、使用静态工厂方法实例化

<bean id="" class="" factory-method="createOrder"/>
public class OrderFactory{
     public static OrderFactoryBean createOrder(){
          return new OrderFactoryBean();
     }
}

3、使用实例工厂方法实例化

<!--工厂bean-->
<bean id="service" class="com.qh.beanFactory.BeanFactory"></bean>
<!--实例化工厂bean-->
<bean id="createBean" factory-bean="service" factory-method="create"></bean>

bean的作用域(通过bean的scope属性来确定)

singletion:在每个spring Ioc容器中一个bean定义只有一个对象实例,默认情况下会在容器启动时初始化bean,但是我们可以指定bean节点的 lazy-init="true"来延迟初始化bean,这时候,只有第一次获取bean才初始化  bean。如果想对所有的bean都应用延迟初始化,可以在根节点beans设置default-lazy-init=“ture”

prototype:每次获取的都是新的实例