一. spring是什么
Spring是一个轻量级的Java 开发框架 是管理对象的容器 原本对象通过new生成 现在不需要new 通过spring来创建管理对象。
Spring 的核心是控制反转 (IoC)和面向切面(AOP),Spring 是一个分层的 JavaSE/EEfull-stack(一站式) 轻量级 开源框架。
EE 开发分成三层结构:
二. spring优点
spring 通过bean标签来将对象交给spring容器管理
然后通过ApplicationContext加载配置文件来创建容器对象 getBean方法 来得到对象
空参构造方式
3.spring属性注入: 注入方式:
set方法注入
<bean id="car2" class="cn.itcast.spring.demo4.Car2">
<property name="name" value=" 奇瑞 QQ"/> <property name="price" value="40000"/>
</bean>
构造函数注入
<bean id="car" class="cn.itcast.spring.demo4.Car">
<constructor-arg name="name" value=" 保时捷 "/> <constructor-arg name="price" value="1000000"/>
</bean>
对象注入
<bean id="person" class="cn.itcast.spring.demo4.Person">
<property name="name" value=" 会希 "/> <!-- ref 属性:引用另一个 bean 的 id 或 name -->
<property name="car2" ref="car2"/>
</bean>
p名称空间注入(了解)
spel注入(了解)
复杂类型注入:
CollectionBean 有Array List Map Property属性
<bean name="cb" class="cn.itcast.c_injection.CollectionBean" >
<!-- 如果数组中只准备注入一个值(对象),直接使用value|ref即可
<property name="arr" value="tom" ></property>
-->
<!-- array注入,多个元素注入 -->
<property name="arr">
<array>
<value>tom</value>
<value>jerry</value>
<ref bean="user4" />
</array>
</property>
<!-- 如果List中只准备注入一个值(对象),直接使用value|ref即可
<property name="list" value="jack" ></property>-->
<property name="list" >
<list>
<value>jack</value>
<value>rose</value>
<ref bean="user3" />
</list>
</property>
<!-- map类型注入 -->
<property name="map" >
<map>
<entry key="url" value="jdbc:mysql:///crm" ></entry><!--字符串 字符串 -->
<entry key="user" value-ref="user4" ></entry><!--对象 字符串 -->
<entry key-ref="user3" value-ref="user2" ></entry><!--对象 对象 -->
</map>
</property>
<!-- prperties 类型注入 -->
<property name="prop" >
<props>
<prop key="driverClass">com.jdbc.mysql.Driver</prop>
<prop key="userName">root</prop>
<prop key="password">1234</prop>
</props>
</property>
</bean>