zoukankan      html  css  js  c++  java
  • Spring入门第一课:Spring基础与配置Bean

    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

  • 相关阅读:
    缓存概述
    进程Process
    MVC系统过滤器、自定义过滤器
    暂无,进程那篇深度不够
    SeasLog 与 monolog 日志系统的区别,SeasLog安装步骤
    阿里面试官:说一下从url输入到返回请求的过程,问的难度就是不一样!
    [技术分享]OSI七层模型详解
    Mysql引擎介绍及InnoDB逻辑存储结构
    Paypal 实现自动订阅
    PayPal 支付Checkout 收银台和 Subscription 订阅计划全过程分享
  • 原文地址:https://www.cnblogs.com/zpdMulti/p/596957458_qq6.html
Copyright © 2011-2022 走看看