1.入门

  Spring是简化java开发的一个框架,其中IoC和AOP是Spring的两个重要核心。由于Spring是非侵入性的,通过Ioc容器来管理bean的生命周期,还整合了许多其他的优秀框架,所以极大的简化了我们的开发过程。Spring的核心包括Beans、Core、Context、SpEL。对应的包的文件名形式为spring-expression-4.0.0.RELEASE.jar这样的形式。在进行Spring开发时,我们必须引入这四个核心包和一个日志包,导入Referenced Libraries中。就选择这些包,然后添加。然后新建一份Spring的配置文件。操作为添加Spring下的Spring Bean Configruation File文件。这样环境就搭建好了…

  那么如何加载一个Bean呢?(这里需要了解什么是IoC和DI)

  第一步:先在xml配置文件配置好bean,如下:

1    <bean id="zhao" class="com.test.demo.Person">
2         <property name="name" value="赵二狗"></property>
3         <property name="age"  value="18"></property>    
4     </bean>

  第二步:创建IoC容器,加载Bean,如下:

ApplicationContext c =new ClassPathXmlApplicationContext("context.xml");       
Person zhao = (Person) c.getBean("zhao");        
System.out.println(zhao.toString());

2.IOC&DI概述:

  IOC为控制反转,DI为依赖注入,DI是IoC的更具体的说明。

  IOC的演化过程为:分离接口与实现->抽象工厂->反转控制

3.Bean的配置:

  Bean的配置形式有2种:一种基于xml文件的,一种基于注解的。

  Bean的配置方式有:通过反射的方式,要求bean中有无参数的构造器。

  Spring提供2中IoC容器的实现:一种基于BeanFactory的,一种基于BeanFactory的子接口ApplicationContext的,提供了更多的功能,一般使用后者进行初始化。

  Bean的获取方式有:通过id名称和通过class如下:

 1 Person zhao = (Person) c.getBean(“zhao”); 2 Person zhao1 = c.getBean(Person.class); 

  属性的注入方式有:set方法注入,构造器注入,抽象工厂注入(不推荐),构造器注入配置如下:

  构造器注入还可以有index、type属性来精确注入。

<bean id = "chen" class="com.test.demo.Person" index="" type="">
        <constructor-arg value="陈三蛋"></constructor-arg>
</bean>

  特殊字符通过<![CDATA[]]>来引入。

    <property name="word">
      <value><![CDATA[<HTML>天下第一]]></value> </property>

  通过ref属性引入标签,也可以内部创建bean,内部bean不能被外部引用

<property name="car" ref="benz"></property>

  支持联级注入:

<property name="car.name" value="奥迪Q800"></property>

  注入list、set、map集合类:

<property name="cars">
            <list>
                <ref bean="benz"/>
                <ref bean="benz"/>
            </list>
</property>

  java.util.Properties的配置方式://HashTable的一个子类
  <props><prop key=””>value</prop>…

  外部配置<map>,配置独立的集合bean,引入util

    <util:list id="myCars">
        <ref bean="benz"/>
        <ref bean="benz"/>
    </util:list>

  使用p命名空间:引入p命名空间,简化配置

<bean id="zhao" class="com.test.demo.Person" p:name="赵铁蛋"  p:cars-ref="myCars"></bean>

4.自动装配:  

  SpringIOC容器可以自动状态。仅仅需要在<bean>的autowire属性里指定自动装配的模式。 缺点,会配置所有属性,这就不是很好。
  byType(多个装配容易初问题)、byName(id名和setter方法中的名字一致) 、constructor(不推荐)

5.配置bean的关系:

  parent=””继承配置
  abstract=”true”声明抽象bean不能配置。
  配置关联关系depends-on属性,表明在配置该bean之前需要配置好其他bean
  通过逗号和空格指定多个bean

版权声明:本文为zpdMulti原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zpdMulti/p/596957458_qq6.html