1.两个核心技术
aop : 面向切面编程,扩展功能不是修改源代码实现ioc : 控制反转,普通情况下,new 对象 . 方法()
在spring 中是在配置中创建类的对象
a.配置文件 b.注解
2.spring 一站试框架
web 层: spring MVCserver层 : 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/>