Spring5 依赖注入

1、maven依赖包

1.1 、Test依赖包

        <!--@Test依赖包-->
       <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>4.12</version>
           <scope>test</scope>
       </dependency>

1.2、 Spring 依赖

        <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-webmvc</artifactId>
           <version>5.2.8.RELEASE</version>
       </dependency>

 

2、 Spring 常用注入方式

2.1、 常用注入方式

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

   <bean id="address" class="com.chris.pojo.Address">
       <property name="dz" value="战争学院"/>
   </bean>
   <bean id="Student" class="com.chris.pojo.Student">
       <property name="name" value="test"/>
       <property name="address" ref="address"/>
       <property name="books">
           <array>
               <value>语文书</value>
               <value>数学书</value>
           </array>
       </property>
       <property name="card">
           <map>
               <entry key="身份证号" value="121212121"/>
               <entry key="电话号码" value="1211515"/>
           </map>
       </property>
       <property name="game">
           <set>
               <value>lol</value>
               <value>PUBG</value>
           </set>
       </property>

       <property name="hobby">
           <list>
               <value>玩游戏</value>
               <value>看电影</value>
           </list>
       </property>
       <property name="info">
           <props>
               <prop key="身份证">12312312321</prop>
               <prop key="电话号码">158315102120</prop>
           </props>
       </property>
   </bean>

</beans>

 

2.2 、p标签 c标签注入注入方式

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:p="http://www.springframework.org/schema/p"
      xmlns:c="http://www.springframework.org/schema/c"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
   <bean id="user" class="com.chris.pojo.User" p:name="test" p:age="26"/>
   <bean id="user2" class="com.chris.pojo.User" c:name="test2" c:age="32"/>
</beans>

 

3、bean的作用域

3.1、Spring的单例模式(默认模式)

<bean id="user3" class="com.chris.pojo.User" p:name="WO" p:age="26" scope="singleton"/>

3.2、原型模式 (弊端是浪费资源 但是可以每一个对象get都是不一样的)

    <bean id="user4" class="com.chris.pojo.User" p:name="Woo5" p:age="26" scope="prototype"/>
    @Test
   public void userTest() {
       ApplicationContext context = new ClassPathXmlApplicationContext("userBean.xml");
       User user3 = (User) context.getBean("user3");
       User user31 = (User) context.getBean("user3");
       User user4 = (User) context.getBean("user4");
       User user41 = (User) context.getBean("user4");
       System.out.println(user31 == user3);  // 结果 true
       System.out.println(user41 == user4);  // 结果 false

  }

 

 

posted @ 2020-08-04 14:40  Chris丶Woo  阅读(434)  评论(0编辑  收藏  举报