spring注入方式和數據的注入

Spring的優勢:mysql

  1. 核心容器提供spring框架的基本功能,核心容器的主要組件是BeanFactory, 他是工廠模式的實現. BeanFactory使用控制反轉(IOC)模式將應用程序的配置和依賴性與實際的應用程序代碼分開

 

 

 

環境搭建:web

  1.一個依賴,四個核心spring

 

  2.控制反轉sql

(1)含義:依賴於容器給予你資源,控制權坐落到了容器身上,不主動new實例化對象,而是須要哪一個對象,便向容器發請求,讓容器幫本身new一個對象出來數組

(2)依賴注入:所需求的對象,須要依賴容器注入,本質上是IOC和DI是同一思想下不一樣維度的表現.框架

 

 

 

 

(3) 注入的方式:url

>接口注入:在接口中定義要注入的信息,並經過接口來完成注入。(Spring不支持這種注入方式--不支持的緣由是--Spring聲稱其是非入侵式的《離開這個框架也能活》,若是使用接口注入的話,就違背了這一原則)spa

>setter注入:3d

 

 

>構造器注入code

 

 

>註解注入

Xml文件的配置

<context:component-scan base-package="com.zhiyou.han"></context:component-scan>

 

註解有:1.自動注入:@Resources, @Autowired

   2.Bean的定義:@Component, @Repository, @Service @Controller

@Component是個泛化概念,能夠用在任何層次。若是是web開發,

儘可能用@Repository@Service @Constroller

 

(4) 不一樣數據類型的注入方式:

1.若是注入的爲基本類型(8)或者String類型  value=""

   2.若是注入的爲引用類型()  ref

   3.數組

    

 <property name="local">

           <array>

               <value>北京2</value>

               <value>北京3</value>

               <value>北京4</value>

               <value>北京5</value>

           </array>

        </property>

 

   4.集合list set集合

   

  <property name="addess">

            <list>

               <value>上海1</value>

               <value>上海3</value>

               <value>上海4</value>

               <value>上海5</value>

               <value>上海7</value>

            </list>

        </property>

 

   5.Map集合

     

 <property name="map">

           <map>

              <entry key="name" value="王五"/>

              <entry key="age" value="38"/>

              <entry key="dz" value="北京"/>

           </map>

        </property>

 

   

   6.Properties屬性類

 

  

  <property name="pop">

           <props>

               <prop key="url" >jdbc:mysql://localhost:3306/mysql</prop>

               <prop key="user" >root</prop>

           </props>

      </property>

 

 

 

 

 

該方法在ApplicationContext讀取配置文件就會建立bean的實例化,不須要考慮bean的做用域

 

該方法已經被淘汰,BeanFactory在啓動的時候不會建立bean實例,而是在getBean()的時候纔會建立實例

 

XML的代碼:

<bean id = "student" class="com.zhiyou.han.Student">
        <property name="name" value="韓廣學"></property>
        <property name="address">
            <array>
                <value>北京1</value>
                <value>北京2</value>
                <value>北京3</value>
                <value>北京4</value>
            </array> 
        </property>
        <property name="address1">
            <list>
                <value>北極1</value>
                <value>北極5</value>
                <value>北極4</value>
                <value>北極3</value>
                <value>北極2</value>
            </list>
        </property>
        <property name="map">
            <map>
                <entry key="15" value="哈哈1"></entry>
                <entry key="14" value="哈哈2"></entry>
                <entry key="13" value="哈哈3"></entry>
                <entry key="12" value="哈哈4"></entry>
                <entry key="11" value="哈哈5"></entry>
            </map>
        </property>
        <property name="teacher" ref="teacher"></property>
        <property name="properties">
            <props>
                <prop key="url">JDBC:myql</prop>
                <prop key="name">JDBC:name</prop>
                <prop key="pass">JDBC:password</prop>
            </props>
        </property>
    </bean>
    <bean id="teacher" class="com.zhiyou.han.Teacher">
        <constructor-arg name="name" value="成吉思汗"></constructor-arg>
    </bean>
相關文章
相關標籤/搜索