当前位置:文档之家› 韩顺平Spring笔记之图解

韩顺平Spring笔记之图解

习各个配置.
习各个配置.
税务,证券, 石油, 财务,政务系 ,编程粒度变大( 汇编 指令,c 语句 组件)
icationConTexte.xml
Context ac=new lApplicationContext("com/hsp/ioc/beans.xml");
反射
beans.xml/applicationcontext.xml
配置bean ,
ApplicationContext ac=new ClassPathXmlApplicationContext
applicationContext上下文容器 创建 student
bean工厂.
bean工厂.
我们理解 BeanPostProcessor ,有点类似我们的web filter
Employee.java
EmployeeServiceInt er
实现
@Transactional EmployeeService.j va[业务操作
hibernate
事情管理器
sessionfactory
struts-config.xml <action path="/login" parameter="fla type="com.hsp.web.action.LoginAction
☞ 学习框架,最重要的就是学习各个配置.
☞ 学习框架,最重要的就是学习各个配置.
bean bean bean
大的项目(税务,证券, 统,oa,erp,。。),编程粒度变大 java对象,spring,组件
applicationConTexte.xml 自己bean <bean>
<REF /> </bean>
自动装配的原理
// TODO Auto-generated method stub
ApplicationContext ac=new ClassPathXmlApplicationContext( "com/hsp/autowire/beans.xml");
//获取 Master master=(Master) ac.getBean("master"); System.out.println(master.getNa me()+" 养 "+master.getDog().getName());
spring框架原理图(sping框架什么被加载,spring中配置的bean,怎样 被创建,bean与bean之间的关系怎样被维护)
<bean id="user class="com.ser
spring框架原理图(sping框架什么被加载,spring中配置的bean,怎样 被创建,bean与bean之间的关系怎样被维护)
器对象) ApplicationContext ac=new
ClassPathXmlApplicationContext("applicationCo ntext.xml");
UserService us=(UserService) ac.getBean("userService");
us.sayHello();
<param-name>contextConfigLocation</param-name> <paramvalue>classpath:applicationContext.xml</param-value> </context-param> <!-- 对Spring容器进行实例化 --> <listener>
ie
实例化bean1 bean2 bean3
配置 MyBeanPostProcess or
MyBeanPostProcessor i BeanPostProcessor{
before(){} after(){} }
aop初探..
beans.xml 配置 MyBeanPostProcessor
魔法师
A
实现
BasisService.jav 基础抽象类
hibernate持久层
数据库
rvice.java
ok.jsp V
web层,struts
业务层
sping框架.它可以管理 web层,业务层.dao层 持久层,该sping可以配置各个层 的组件(bean),并且维护各个 bean之间的关系.
配置各种bean <bean id>< <property value="hello"></propery> </bean>
yBeanPostProcessor MyBeanPostProcessor
魔法师
需求: 1.记录每个对象,被实例化得实 际 2. 过滤每个调用对象ip 3. 给所有对象添加属性,或者函 数.=>aop(面向切面编程.针对所 有对象编程.)
对上面案例总结: spring实际上是一个容器框架,可以配置各种 bean与bean的关系,当我们需要使用某个bean的时候,
ioc是什么? 答 :ioc(inverse of controll ) 控制反转: (bean)的关系的权利从程序中转移到spring的容器 护.
DI是什么? 答: di(dependency injection) 依赖注入: 实际上 准确表示spring核心技术
目标对象
spring的层次图
ActionFrom.java
login.jsp V struts充当 web, 接管jsp / action / 表单 主要体现出mvc 的数据输入、数据的处理,数 据的显示分离
Users.java[domain对 象/javabean/pojo]
这里强调一下,在一个项目中 不一定全部有,可以根据实际 情况选择.
bybService=Class.forName("com.service.BybService" bybSerice.setName("小明"); userService.setByeService(bybService); applictonContext=new HashMap(); applictonContext.put("userService",userService) applictionContext.put("byeService",bybService)
项目 初步理解
UserService
DepartmentService
引入通知 //传统方法
环绕通知
ac.getBean("??") .say()..
OrderServicer begingTransacton() ....
aop原理+案例(aop 先不说,当我们讲完案 概念)
后置通知 完成资源关闭
<listenerclass>org.springframework.web.context.ContextLoaderLi stener</listener-class>
501号 雇员薪资管理系统的框图
表单 属性
login.jsp 提交: <form>xxx</form>
失败
LoginAction.j ava
内存(applictonC id userService(ox1 byeService(ox23
1.当ClassPathXmlApplicationContext("applicationContext.xm spring容器对象被创建,同时 applicaionContext.xml中配置 bean就会被创建(内存[Hashmap/H erService us=(UserService) ac.getBean("userService");
浏览器: http://xxxxx/login.do
action
ie
ie
ie浏览器
web服务器
公共评论板的框架
login.jsp
Login.java
Type.java domain对象
TypeServiceIn BasicServiceInt ter.java 继承 .java 基础接口
实现
TypeService .java
<bean id>< <property ref=""></propery> </bean>
sDao/Hiber
dao层
关系模型和对象模型之间的阻抗.
web 层 actห้องสมุดไป่ตู้on[解决action单例
问题] 业务层 service/domain/dao 持久层: 数据 源,localSessionFactory
交叉功能(切面)
织入(过程)
类(可以完成写日志的功能 [术语通知,spring 了五种通知.] 前置通知before函数 ...写日志代码
代理对象(spring提供了 ProxyFactoryBean).该对象只需配置 而不要写.使用到动态代理技术
代理接口,完成代理任务. 连接点->切入点 sayHello(){
spring本身提供的特殊 bean 1.实现了 BeanPostProcessor的后 置处理器 2.PropertyPlaceholderC onfigurer
自己写出bean Dog, Master
张三写好的bean
xx.properties. xx=xxx
相关主题