spring简介

spring主要思想:简化Java开发

为了降低Java开发的复杂性,spring采取了以下4种关键策略

1.基于POJO的轻量级和最小侵入式编程:不会强迫用户实现spring规范的接口或抽象类,并尽可能地不破坏代码,除非使用了注解

2.通过依赖注入和面向接口实现松耦合:通过在方法或接口中进行构造器注入其它类,并结合java中多态的特性(子类型可以向上造型为父类型)实现松耦合

3.基于切面和惯例进行声明式编程:基于切面:当有多个组件用到同一组件时,可以将同一组件声明为切。声明式编程:spring可以通过注解来声明一个特定的spring支持并容纳的bean,这样无需继承spring的类,便可使用特定的功能。

4.通过切面和模板减少样板式代码:将散落在程序中的冗余代码当做一个切面处理,在一个方法执行前,后等调用另一个方法,可以减少很多代码,样板式代码:spring封装的jar,例如spring jdbcTemplate将jdbc中的打开连接,关闭连接等封装,使程序员只关注于要实现的功能

spring的核心:在spring中,任何的类和java bean都被当做bean处理,这些bean通过容器进行管理,spring容器实现了IOC和AOP机制,简化了bean对象的创建和解耦

容器的实现方式:

1.BeanFactory:最简单的容器

2.applicationContext:Beanfactory的子接口,提供了更多的高级特性,是最常见的实现方式

容器创建bean的三种方式:

1.构造器实例化(重点):<bean id="" class=""/>

2.静态工厂实例化(暂不理解):<bean id="" class="" factory-method=""> factory-method为指定工厂中创建bean的方法,在类中应该为static修饰

3.实例工厂初始化(暂不理解):<bean id=”” class=”” factory-bean=”” factory-method=””/> factory-bean;用于指定工厂对象

bean的作用域:

1.单例(singleton):在整个应用中只创建一个bean实例

2.原型(prototype):每次注入或者通过spring应用上下文获取的时候都会创建一次

3.会话(session):在每一次http session中,都创建一个bean实例(只限web应用)

4.请求(request):在每次http请求中,都创建一个bean实例(只限web应用)

bean其它常用可选项

<bean scope="" lazy-init="" init-method="" destroy-method="" /> 

1.scope:为bean的作用域,默认为单例

2.lazy-init:延迟加载,被延迟的bean在第一次被使用时初始化,而不是在spring应用上下文启动时被初始化

3.init-method:指定初始化回调方法

4.destory-method:在单例模式下适用,指定销毁回调方法


书籍:(spring in action)


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值