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基础知识整理

spring学习的总结1、什么是Spring的Ioc容器spring容器就是常说的Ioc容器,即控制翻转,作为程序员,当我们去实例化一个 对象时,通常需要手动new创建一个对象,并且去跟踪该对象的生命...
  • DFL_always
  • DFL_always
  • 2016年12月06日 19:21
  • 1145

Web前端之基础知识

学习web前端开发基础技术需要掌握:HTML、CSS、Javascript 1.HTML是网页内容的载体 内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。 2.C...
  • bear_huangzhen
  • bear_huangzhen
  • 2015年06月06日 23:00
  • 3717

加密与解密-基础知识

大端小端: 大端:高位字节存入低地址,低位字节存入高地址,依次排列 小端:低位字节存入低地址,高位字节存入高地址,反序排列 虚拟内存的实现方法和过程如下 ...
  • zang141588761
  • zang141588761
  • 2017年06月14日 16:04
  • 161

图像处理基础知识总结1

图像处理基础知识总结(1)前言:从接触图像处理、生物特征识别、视频编解码、机器学习已两年有余,还没有系统的总结过,正好最近刷一下Tsinghua的Tipa课件和PKU的Digital Image Pr...
  • u013828589
  • u013828589
  • 2017年05月18日 17:49
  • 1470

Spring学习--Spring入门前需要看的一些理论知识

Spring是什么? 帮助应用创建对象以及管理这些对象之间的依赖关系,虽然抽象工厂、工厂模式也可以实现以下对象生成器,但是这样的话应用就还需要额外管理这些类,更加增加了程序的负担。因...
  • WJHelloWorld
  • WJHelloWorld
  • 2018年01月18日 19:34
  • 26

关于 图像 的基础知识

前天老师要作报告,报告来这的2周的学习成果。先是学长们,主要就是给我们理理关于图形图像的思路吧。然后,是新生。等轮到偶的时候,已经是午饭了,悲催的是我的报告果真是整理的所学的,列了那么多知识点~看着大...
  • timidsmile
  • timidsmile
  • 2011年07月28日 12:25
  • 7060

计算机硬件基础知识

计算机硬件系统不管我们有没有发现,在生活中我们处处都在使用着计算机。计算机给我们的生活带来了很多便利与效率,为了更好地使用计算机协助我们的工作学习我们需要对计算机有一个基础的了解。...
  • a5548743
  • a5548743
  • 2017年05月20日 14:19
  • 593

web前端工程师基础知识点

看了一个web培训的大纲,感觉这些确实涵盖了在开发过程当中的一些知识点,特此总结了一下。同时也是第一次尝试了使用markdown这个编辑器,感觉不错。 特此推荐一下 HTMLXHTML Dreamwe...
  • qq443068902
  • qq443068902
  • 2015年10月23日 12:16
  • 721

图形图像的基础知识总结

1、图像文件格式 图像文件格式是指用于存储图形或图像数据的一种数据结构。它反映了图像的大小、分辨率、图像模式等信息。 2、像素:        显示在显示器上光的单元,用来计算点阵图像的一...
  • u011046042
  • u011046042
  • 2016年11月24日 21:48
  • 2638

设计模式基本知识

1. 定义:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。  毫无疑...
  • liranke
  • liranke
  • 2010年04月27日 17:49
  • 1710
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring的基础知识
举报原因:
原因补充:

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