Spring的優勢:mysql
環境搭建: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>