Spring框架所有技术笔记总结

什么是Spring,Spring有什么功能?

Spring是一个控制反转和面向切面编程的容器框架,可以简化企业开发:

Spring框架提供了许许多多有用的功能,就我们常用的如下:

1 控制反转和依赖注入

  所谓控制反转,就是对象的创建以及维护是由外部容器实现的,以前我们在类中要使用其

他类的方法,需要在我们本类中new其对象;
而采用控制反转时,这个对象的创建工作和维护就交给了Spring容器;有利于各层之间的解耦;
面向对象的第一大原则是:面向接口编程;
就是面向接口编程原则的体现;比如说我们在某个类中要使用其他类的对象来为自己服务;
从前我们都是在我们自己的类中创建我们要使用的类的对象;而现在我们只要在自己的类中定义
该类的接口对象的引用,并提供set,get方法(主要是set方法);然后放心大胆的去用;创建工作

交给Spring容器;我们只要自己使用就行了
但是在Spring配置文件中进行属性的配置即可;
要在我们自己的类的配置项中加入这样一项内容;

这底层的原理是使用dom4j技术对xml配置文件进行解析,解析出相应的属性,如果需要注入属性的

,就利用反射机制调用其set方法,对属性进行注值;

关键步骤:
1 创建引用,并提供set,get方法;
2 在配置文件中注入该属性及其对应的实现类;
3 在本类中使用;
其实向某个类中注入某个属性有两种方法:
其一是上面讲的配置ref选项;
其二是配置内部bean选项;但是这个bean只能供内部使用;外部无法访问;

 

注入int等基本数据类型及String类型的配置是这样的;


对属性的注入有两种方法,一种是自动的,一种是手动的!
手动的方式包括:
1:配置beans.xml文件;配置bean和property属性;还有一种就是使用构造器来注入,用的不是很

多!
2:通过在成员或方法上手动加入注解来实现依赖注入;有两种方式一中是@Resource,他是JavaEE自

带的注解;

采用名称和类型识别相结合,即先按名称查找,没找到则按类型查找;
另一种是Spring提供的@Authorwired;他是按类型来查找的;当然也可以通过添加属性配置实现按名

称查找;

但是不管是哪一种方式其底层原理都是用的反射技术来实现的;
使用注解方式的注意事项:
1 必须要导入相关的注解包;
2 配置文件中要引入相应的schema约束文件;并打开context配置项;
3 可以在相应属性上配置,也可以在set方法上配置;即在其权限修饰符前加@Resource
或者@Autowired;表示对其使用注解方式注入值;
一般来说@Resource是javaEE自带的,而@Authorwired是Spring自带的;由于我们使用的是Spring

来实现属性注入,因此最好使用@Autowired方式实现;
通过在classpath自动扫描方式把组件纳入spring容器中管理,需要有属性的set方法!!!
使用注解来实现将我们需要被Spring容器管理的bean交给Spring容器;
@Service用于标注业务层组件,@Controller用于标注控制层组件(如struts中的action);
@Repository用于标注数据库访问组件,即DAO组件,
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Scope("prototype");指定bean对象产生的方式,是单例还是其他!
@PostConstrut在某个方法上标注,表示将该方法指定为初始化方法!
同理@PreDestroy标注为摧毁方法!!!

依赖注入有两种方式:
1 使用注解技术:通过@Autowired或者!@Resource();
2 使用xml配置文件实现,通过property配置项和ref实现;但是需要需要注入的类提供该
属性的set方法;否则会出现空指针异常!!!

2 aop编程

    面向切面编程(aspect oriented programming);
使用代理类Proxy可以实现;该类有个静态方法 public static Object newProxyInstance

(ClassLoader loader,
                      Class

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值