学习Spring源码(1)

一、Spring 是什么?

1、轻量级 :api 使用简单

2、面向bean :只需要编写简单的bean,bean是什么?bean就是java对象;

3、松耦合:利用AOP思想

4、万能胶

5、设计模式

spring 是为解决企业级应用开发的复杂性而设计,最根本的使命,就是简化开发;

1.基于pojo的轻量级和最小侵入性编程;

2.通过依赖注入和面向接口松耦合;

3.基于切面和惯性进行声明式编程;

4通过切面和模板减少样板式代码;

主要通过面向bean、依赖注入以及面向切面这三种方式来达成;

怎么样使一个类作为一个公用的几种方法?

1、打个jar包、具体就是继承这个类;

2、将这个类做为成员变量,放到类里面声明;

Spring 只要声明;

二、面向bean

Spring是面向bean的编程;Spring提供了IOC容器通过配置文件或者注解的方式来管理对象之间的依赖关系;

(1)、依赖注入:
public class Note{
    private int a;
    private int b;
   
    public void execute(){}
}
// 实例化以后用一个变量保存下来(匿名对象)
@autowite Note note; // Spring 初始化,实例化(控制权)
// 一定要初始化才行,报空指针异常
note.execute();
//实现依赖注入 (赋值:把等号右边的赋值给左边的)
@autowrite InterfaceA a; //自动把它的实现类注入进来
@Resource("a") A b;    //IOC容器中类的id为a对象自动注入到这里(可以区分父子类)
@autowrite A a;          //根据类型自动注入;
(2)Spring的注入方式:
1 setter
2 构造方法
3 强制赋值  如: @autowrite private InterfaceA a;

// 下面情况实例化的先后顺序 b、a、c ;
//依赖链中的所有对象,ioc容器里面初始化;实例化spring就帮完成
class C {
   private A a;
   public void func(){
      
   }
}
class A{
     private B b;
}

(3).理解AOP的看透弄懂AOP

Spring是一个库,它的功能是提供了一个软件框架,这个框架目的是使软件之间的逻辑更加清晰,配置更灵活,实现这个目的的手段使用AOP和IoC,而AOP和IoC是一种思想,是一种什么样的思想呢?先说AOP在Java里是利用反射机制实现(也可以认为是动态代理,不过动态代理也是反射机制实现的),如何使用AOP呢

AOP的本质是在一系列纵向的控制流程中,把那些相同的子流程提取成一个横向的面;

1、面向切面
aop的核心构造是方面(切面),它将那些影响多个类的行为封装到可重用的模块中;

aop的功能完全集成到了spring事物管理、日志和其他各种特征的上下文中;


在应用中哪些应用了面向切片编程?

Authentioncation权限认证
Logging 日志
Transctions Manager 事物
Lazy Loading 懒加载
Context Process 上下文处理
Error Handler 错误跟踪 异常捕获机制
cache 缓存处理


没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试