第一章《Spring入门IOC、DI二》

Spring
1.从spring容器中获取管理所有对象的名称
//从Spring容器中获取所有的对象
String[] names=ac.getBeanDefinitionNames();
for (String name : names) {
System.out.println(name);
}
2.给Bean对象属性赋值方式(注入)
2.1:调用有参构造方法给属性赋值
1. 需要在类中提供匹配的有参构造方法

public class StudentServiceImpl implements StudentService {
	//属性
    private StudentDao dao;
    
    //提供有参的构造方法
    public StudentServiceImpl(StudentDao dao) {
		this.dao = dao;
	}
}

2.在配置文件中,创建对象,并调用有参构造,给属性赋值

<bean id="service" class="service.StudentServiceImpl">
        <constructor-arg name="dao" ref="dao"></constructor-arg>
</bean>

2.2:设置注入(调用set方法)
1.基本类型,包装类或String类型赋值

<bean id="stu" class="pojo.Student">
      <property name="sno" value="1"></property>
      <property name="name" value="A"></property>
 </bean>

等价于:

<property name="sno">
         <value>1007</value>
      </property>
      <property name="name">
         <value>A</value>
      </property>

2.数组类型

private double[] scores;
<property name="scores">
         <array>
             <value>59</value>
             <value>69</value>
             <value>99</value>
         </array>
 </property>

简写:只有当数组元素只有一个值时,可以直接使用value赋值

<property name="scores" value="89"></property>

3.List集合类型

private List<String> names;
<property name="names">
         <list>
             <value>A</value>
             <value>B</value>
             <value>C</value>
             <value>D</value>
         </list>
</property>

4.Set集合类型

 private Set<String> names;
<property name="names">
         <set>
             <value>A</value>
             <value>B</value>
             <value>C</value>
             <value>D</value>
         </set>
</property>

5.Map集合类型

private Map<Integer,String> gfs;
<property name="gfs">
     <map>
         	<entry key="1" value="a"></entry>
         	<entry key="2" value="b"></entry>
         	<entry key="3" value="c"></entry>
     </map>
</property>
  1. Property类型赋值 jdbc.properties
<property name="jdbcProperties">
          <props>
             <prop key="driver">Oracle.jdbc.Driver.OracleDriver</prop>
             <prop key="url">jdbc:oracle...</prop>
             <prop key="username">scott</prop>
             <prop key="pwd">tiger</prop>
          </props>
      </property>

注意:
1.设置注入,必须提供对应的set方法。
2.如果值包含特殊内容<>&等时,需要进行处理:
1.<&>…
2.<![CDATA[a班&彭于晏]]>
3.DI
中文:依赖注入 英文:dependency injection
IOC和DI是一样。
当一个类对象(A)依赖于另一个类对象(B)时,将另一个类对象(B)赋值给一个类对象(A)的过程,就称为DI。
案例:

 <bean id="stu" class="pojo.Student">
   <property name="grade" ref="grade"></property>
 </bean>
<!--创建年级对象-->
   <bean id="grade" class="pojo.Grade">
      <property name="name" value="B"></property>
      <property name="mark" value="A..."></property>
   </bean>

4.单元测试
Main方法测试缺点:一个项目中只能有一个main()。
测试多个功能方法,全部在main中。
希望针对于一个业务写一个测试方法。
实现步骤:
1.导入单元测试的jar包 (junit单元测试)

  1. 单元测试方法。只需要在方法上加上@Test注解

@Test
public void testAdd() {
System.out.println(“调用dao层的添加用户的方法…”);
}

注意:单元测试方法规范

  1. 一般不能带参数
  2. 不能够带返回值
  3. 不能带static关键字。不能定静态方法
  4. 单元测试方法执行顺序
    1.调用无参构造示例化对象
    2.调用@Before方法
    3.调用@Test方法
    4.调用@After 方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值