Spring--->配置-DI---依赖注入

1、别名

  • id:bean的唯一标识符,也就是相当于对象名

  • class:bean 对象的全限定名(包名加类型)

  • name:也是别名,而且更高级

    <alias name="hello" alias="hello2"></alias>

2、Bean的配置

 <bean id="hello" class="com.xian.pojo.Hello" name="hello3,ffff">
        <constructor-arg index="0" value="Spring,Hello"></constructor-arg>
    </bean>

3、import 

合作开发时使用,导入不同人的Bean

<import resource="beans.xml"/>
<import resource="beans1.xml"/>
<import resource="beans2.xml"/>

4、依赖注入

依赖:

 set注入

 <bean id="student" class="com.xian.Dao.Student">
        <property name="name" value="xian"/>
        <property name="address" ref="address"/>
        <property name="books">
            <array>
                <value>java se</value>
                <value>java ee</value>
                <value>java web</value>
                <value>java Spring</value>
            </array>
        </property>
        <property name="hobbys">
            <list>
                <value>敲代码</value>
                <value>敲脸盆</value>
                <value>敲钟</value>
            </list>
        </property>
        <property name="card">
            <map>
                <entry key="1" value="14141414141"/>
                <entry key="2" value="22222222222"/>
            </map>
        </property>
        <property name="games">
            <value>LOL</value>
        </property>
        <property name="wife">
            <null></null>
        </property>
        <property name="info">
            <props>
                <prop key="url">www.baidu.com</prop>
                <prop key="name">baidu</prop>
            </props>
        </property>
    </bean>

P命名空间和C命名空间

 xmlns:p="http://www.springframework.org/schema/p"
 xmlns:c="http://www.springframework.org/schema/c"

 <bean id="hello" class="com.xian.pojo.Hello" p:str="hello P:命名空间"></bean>
 <bean id="helloc" class="com.xian.pojo.Hello" c:str="hello C:命名空间"></bean>

 public  void test() {
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        Hello hello =  context.getBean("hello",Hello.class);
        System.out.println(hello.toString());
        Hello helloc =  context.getBean("helloc",Hello.class);
        System.out.println(helloc.toString());
    }

5、bean的作用域

1.单例模式(Spring默认机制)

  <bean id="hello" class="com.xian.pojo.Hello" p:str="hello P:命名空间" 
  scope="singleton"> </bean>

2.原型模式:每次Get都会产生一个新对象

<bean id="helloc" class="com.xian.pojo.Hello" c:str="hello C:命名空间" 
scope="prototype"></bean>

其余的request、sessioon、application都只作用于web开发中

 

posted @ 2020-09-11 11:14  Spring_Xian  阅读(199)  评论(0)    收藏  举报