Spring5 依赖注入


1、maven依赖包

1.1 、Test依赖包

        
       <dependency>
           <groupId>junitgroupId>
           <artifactId>junitartifactId>
           <version>4.12version>
           <scope>testscope>
       dependency>

1.2、 Spring 依赖

        <dependency>
           <groupId>org.springframeworkgroupId>
           <artifactId>spring-webmvcartifactId>
           <version>5.2.8.RELEASEversion>
       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>lolvalue>
               <value>PUBGvalue>
           set>
       property>
?
       <property name="hobby">
           <list>
               <value>玩游戏value>
               <value>看电影value>
           list>
       property>
       <property name="info">
           <props>
               <prop key="身份证">12312312321prop>
               <prop key="电话号码">158315102120prop>
           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
?
  }

 

 

相关