导入基本的jar包
IOC:
原来的由我们实例化创建的工作,现在全都交给Spring来管理。
需要创建好spring的application.xml文件。导入对对应的约束。在里面配置javabean
<bean id="Admins" class="dao.Admin"></bean>
//id:是调用的名称。 class:是javabean的全包路
测试:
//使用org.springframework的包,进行获取application.xml文件。
ApplicationContext ap = new ClassPathXmlApplicationContext("spring/application.xml");
//使用 .getBean("") 的方法,获取到对应的javabean Admin bean = (Admin) ap.getBean("Admins");
DI
由容器动态的将某个依赖关系注入到组件之中。
使用了IOC来管理javabean后,可以使用DI依赖注入,进行对javabean的属性赋值。
可以分为两种注入方式:
Setter注入
1、普通注入
//name : 是javabean的属性名称。 value : 是赋值
<bean id="Admins" class="dao.Admin"> <property name="username" value="黄"></property> </bean>
2、List注入
//可以存入多个值, 也可以使用 ref 导入其他的bean
<bean id="Admins" class="dao.Admin"> <property name="ms"> <list> <value>灿灿</value> (1)直接注入 <ref bean="password"/>(2)外链注入 </list> </property> </bean>
3、map注入
//nap注入。有三种方式。
<property name="ms">//属性名。
<map> <entry key="" value=""></entry> //(1)键、值
<entry key="" > //(2)键、外链值 <ref bean=""/> </entry>
//(3)外链键、外链值 <entry key-ref="" value-ref="" ></entry> </map>
4、propertie注入
<property name="ms">
<props> //键是key 值写在里面 <prop key=""> </prop> </props>
</property>
构造注入:
//注意构造的注入,要根据构造函数的参数的多少。要输入对应的值。
//还有 type、ref等属性可以使用
<bean id="Admins" class="dao.Admin"> //(1)直接存入的值,默认从第一个参数存入 <constructor-arg value="99999"></constructor-arg> //(2)使用index进行构造函数的参数的定位。 <constructor-arg index="1" value="huang"></constructor-arg>
</bean>