spring的基础知识

原创 2016年05月30日 22:20:22
摘自《Spring框架技术》
Spring框架是一种非侵入式的轻量级框架
1.非侵入式的技术体现
允许在应用系统中自由选择和组装Spring框架的各个功能模块,并且不强制要求应用系统的类必须从Spring框架的系统API的某个类来继承或者实现某个接口。
2.如何实现非侵入式的设计目标的
 1)应用反射机制,通过动态调用的方式来提供各方面的功能,建立核心组间BeanFactory
 2)配合使用Spring框架中的BeanWrapper和BeanFactory组件类最终达到对象的实例创建和属性注入
 3)优点:允许所开发出来的应用系统能够在不用的环境中自由移植,不需要修改应用系统中的核心功能实现的代码;

1.spring以一种非侵入式的方式(struts2的侵入式与非侵入式的比较,一种继承与不继承,继承的侵入式可以使用继承的方法使用被继承类的所有方法,而创建一个单独的pojo类可以做相关的测试,但是使用不方便,不能切换框架;)侵入式让用户代码产生对框架的依赖,这些代码不能在框架外使用,不利于代码的复用。但侵入式可以使用户跟框架更好的结合,更容易更充分的利用框架提供的功能。
非侵入式的代码则没有过多的依赖,可以很方便的迁移到其他地方。但是与用户代码互动的方式可能就比较复杂。
--------------------------------
2.spring提供的IOC(控制(对象的生命周期创建init-method,销毁 destroy-method)反转(创建对象的权限改变;没有使用spring之前每层之间自己创建一个对象提供给其他类使用比如说在service层创建一个dao对象提供给service使用的,使用spring之后无需创建对象只需将dao这个作为service的一个属性这是一种非侵入式的方式然后在配置文件中配置即可自动创建这个bean对象了)),AOP将组合的耦合度降低
-------------------------
3.spring获取核心容器有如下两种方式:(文件系统的方式就是区分操作系统对于windows的操作系统这个路径写的方法如下:d:java/application.xml.linux下这个路径的写法是"/home/java/application.xml)
 ApplicationContext ac=new   FileSyetemXmlApplicationContext(绝对路径);
  ApplicationContext ac=new     ClassPathXmlApplicationContext(src下面的路径)括号中的内容可以是字符串也可以是数组
---------------------------------
spring启动的时候bean对象就已经创建了(--默认情况--下spring启动就是配置文件注册的时候创建所有的bean,所有的bean都是单例,在spring生命周期内只有一个);销毁spring容器需要使用AbstractXmlApplicationContext类才能调用该类的close方法这样正常的关闭spring之后就可以调用配置文件中的属性destroy-method的相关方法,
init-method="init" destroy-method="destroy"
----------------------
单独使用factory-method只能使用静态的方法,也可以通过实例工厂的方式使用factory-method调用相应的产生实例的方法,配合factory-bean(先创建一个实例对象),然后通过工厂的实例调用其方法获取对象,静态工厂直接调用工厂的方法
-----------------------
bean中的属性id与name区别是name中可以有其他特殊字符"/,*等',在spring ioc中请求路径有作用;getbean(id或者name或者class的类型)
-------------------
scope默认的是singleton单例的,prototype(原型)多例.request一次请求来创建一个bean,session在一个会话中。
不想要每次spring启动的时候创建对象可以使用懒加载lazy-init=“true”方式。
-----------------------------
初始化bean的时机有两种:第一是在spring启动的时候所有singleton bean提前进行实例化,另外一种是使用懒加载的方式lazy-init
--------------------------
依赖注入,使用构造器注入constructor其中的属性index的值与构造函数中的顺序有关从0开始,value中设置属性的值,ref中属性bean可以调用另外一个对象
--------------
property与map一样都是key,然后取值getproperty(key)

























版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Spring入门基础知识带jar包

  • 2017年08月12日 10:19
  • 35.75MB
  • 下载

Spring基础知识汇总Java开发必看

  • 2016年05月23日 13:31
  • 87KB
  • 下载

Spring Boot 基础知识学习(一)——快速入门

SpringBoot 基础知识学习(一)——快速入门 一、背景介绍          今天是2016年11月15号,接触微服务大概一年多的时间,并且我们团队已经在去年使用微服务架构搭建我们数字化企业云...

Spring基础知识汇总 Java开发必看

  • 2016年01月12日 17:04
  • 86KB
  • 下载

Spring基础知识汇总

Spring简介 Spring框架由Rod Johnson开发,Rod Johnson’s twitter,Rod Johnson’s 百度百科,2004年发布了Spring框架的第一版。Sprin...

Spring Data基础知识

Spring Data : Spring 的一个子项目。用于简化数据库访问,支持NoSQL 和 关系数据存储。其主要目标是使数据库的访问变得方便快捷。     SpringData 项目所支持 No...

Spring框架基础知识

1.Spring框架的由来与发展: (1).Spring是Java Web三大经典框架(Struts、Spring、Hibernate ,SSH)中主要用于降低模块之间耦合度的框架,实际上Spring...

学习spring应掌握的Java基础知识

引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓“登高必自卑,涉远必自迩”。以下几项Java知识和Spring框架息息相关,不可不学(我将通过一个系列分别介绍这些Jav...

Spring基础知识汇总

Spring简介 Spring框架由Rod Johnson开发,Rod Johnson’s twitter,Rod Johnson’s 百度百科,2004年发布了Spring框架的第一版。Spring...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring的基础知识
举报原因:
原因补充:

(最多只允许输入30个字)