Spring 的 bean 的测试 --IOC (一)

Spring 的 bean 的测试 --IOC (一)

1.两个核心技术

aop : 面向切面编程,扩展功能不是修改源代码实现
ioc : 控制反转,普通情况下,new 对象 . 方法()
在spring 中是在配置中创建类的对象
a.配置文件  b.注解


2.spring 一站试框架

web 层: spring MVC
server层 : ioc
dao层 : jdbcTemplate


3. ioc 底层技术

xml配置文件
dom4j 解决xml
工厂模式
反射

4.简单测试

  bean 的三种实例方法 ,默认实例 ,静态实例

<!-- 1.无参代理   走的无参数构造器-->
  <bean id="user" class="com.gog.test1.User"> </bean>  

<!-- 2.静态工厂代理生产 bean  -->
  <bean id="bean2" class="com.gog.bean2.Bean2Factory" factory-method="getBean2"></bean>
java:
public class Bean2Factory {
public static Bean2 getBean2(){
return new Bean2();
}
}

<!-- 3.实例工厂代理生产bean 首先需要这个工厂的对象 -->
<bean id="bean3factory" class="com.gog.bean2.Bean3Factory" ></bean>
<bean id="bean3" factory-bean="bean3factory" factory-method="getBean3"></bean>
java:
public class Bean3Factory {
public  Bean3 getBean3(){
return new Bean3();
}
}


5. bean 中属性

id : 别名,可以任意命名,但是不能包含特殊符号,根据id值得到配置对象
name: 功能和id属性一样的,唯一不同就是可以包含特殊字符,这个为了适配struts1,所有现在基本不用
class : 创建对象所在类的全路径名 eg:com.gog.bean2.Bean3Factory
scope :  
a. singletou   默认值,单例
b. prototype 多例
c. request 创建对象放入request域里面
d. session 创建对象放入session域里面
e.globalSession : 创建对象放入globalSession域里面 -->单点登陆


6.参数注入

a.set方法 必须带有无参构造器 较为常用
<property  name  value/>
b.有参构造器 可以有无参构造器  不常使用
<constructor-arg  name value/>