spring整理

  • Spring:是一个完整的mvc框架提供了从表现层,业务层,持久层的一套完整的解决方案,它的核心是IOC和AOP是我们的程序耦合降低代码简洁.
  • IOC控制反转,原来我们使用一个对象需要去自己创建一个该对象的实例,IOC的作用就是我们把对象实例的创建交给spring,spring会将对象实例创建出来存放到spring IOC容器中,当我们要用的时候直接去取实例就行不用我们在自己创建对象实例.创建实例对象的方法,无参构造,静态工厂,实例工厂.spring注解开发时IOC对象实例化使用的是无参构造.
  • DI 属性注入,为实例对象注入属性,有构造器注入,setter方法注入,spring注解开发时的DI属性注入使用的是构造器注入.
  • AOP 面向切面编程,就是横向的将程序进行切割,并将程序中统一的功能单独拿出来通过动态代理的方式提供给这些程序,可以使各个业务逻辑之间的耦合降低,提高代码的复用性.
  • AOP的相关术语:target:指的是需要被增强的对象,就是说那些对象需要通过AOP来进行一些功能的实现;advice:通知就是所谓的增强告诉程序对对象进行了那些功能的实现;pointcut:告诉程序增强需要从哪些地方开始;aspect:就是切点和通知的结合,告诉程序需要在哪个地方进行哪些功能的实现;weaving:织入将切面放到target中并创建代理对象的过程;Proxy:代理对象如果有接口用jdk的proxy没有用cglib.
  • 关于AOP开发:必须要有target,advice,pointcut,aspect,proxy.spring中使用aspectJ进行开发,要创建target,advice,通过标签来进行切面和切点的声明.不需要去声明proxy.
  • Spring Bean 的作用范围有以下几种:
      Singleton:单例模式无论有多少请求Spring IOC 中都只有一个实例.
      Prototype:多例模式有一个请求就会产生一个实例
      Request:一个请求创建一个实例请求完后实例删除
      Session: 与请求范围类似,确保每个 session 中有一个 bean 的实例,在 session 过期后,bean 会随之失效
  • Spring的优点:降低耦合性实现解耦合;容器提供单例模式不用自己去写单例模式;AOP实现权限拦截等功能;对主流框架进行整合;DI降低对象替换的复杂度;
  • Spring的核心类:BeanFactory用来进行对象的实例化;BeanWrapper:提供统一的set,get方法;Applicationcontext: BeanFactory的子类提供框架的实现
  • Bean的调用有三种方式:BeanWrapper,BeanFactory,Applicationcontext的子类ClassPathXmlApplicationContext最常使用后一种.
时间: 2024-09-18 02:32:43

spring整理的相关文章

spring+mybatis+c3p0数据库连接池或druid连接池使用配置整理

在系统性能优化的时候,或者说在进行代码开发的时候,多数人应该都知道一个很基本的原则,那就是保证功能正常良好的情况下,要尽量减少对数据库的操作. 据我所知,原因大概有这样两个: 一个是,一般情况下系统服务器和数据库服务器应该是不在同一硬件上,这时候对数据库的连接.操作就和网络有了很大的关系,连接.操作数据库越多就越影响性能. 二是,数据库的数据持久化在硬件磁盘上,对数据库数据的操作就要进行磁盘的io读写操作,同样是操作越多就越容易影响性能. 而数据库连接池的作用是负责分配.管理和释放数据库连接,它

Spring 数据库连接整理

1.数据库连接jdbc.properties配置详解 jdbc.url=jdbc:hsqldb:hsql://localhost/xdb jdbc.username=sa jdbc.password= jdbc.driver=不同的数据库厂商驱动,此处不一一列举 接下来,详细配置代码如下: Spring连接池 <beans> <!-- picks up and registers AppConfig as a bean definition --> <context:comp

玩玩Spring之Rod Johnson与轮子理论

(本故事除了部分点明道姓并具有故事详细发生的具体时间点地等部分情节以外,其它内容纯属虚构,若有雷同,纯属巧合.) 知道Spring却不知道Rod Johnson的人,好比宇宙中知道社会中义新中国却不知道毛泽东的人一样可笑. Rod Johnson 是Spring Framework的创建者,也是Java和J2EE领域中的知名专家.Rod是 Interface21公司的CEO,该公司是一家致力于提供专业级J2EE和Spring Framework服务的顾问公司. 谈到Rod Johnson,除了S

Spring AOP之ThrowsAdvice

目前的项目中接触了一些Spring的AOP的部分,比如声明式事务管理.在了解了AOP在Spring的实现之后,的确发现这种新的编程思路确实为我们提供用一种新的思路解决问题的办法.为了记录这个学习过程,整理一下学习的笔记.   1.  几个重要的概念(详细的情况参见Spring的在线文档)   ·         PointCut:一组JointPoint.在Spring中我们可以通过一些正则表达式定义那些JointPoint组成了我们需要的一个PointCut,从而使我们的Advice可以被编制

Spring事务管理高级应用难点剖析,第1部分

概述 Spring 最成功,最吸引人的地方莫过于轻量级的声明式事务管理,仅此一点,它就宣告了 重量级 EJB 容器的覆灭.Spring 声明式事务管理将开发者从繁复的事务管理代码中解脱出来 ,专注于业务逻辑的开发上,这是一件可以被拿来顶礼膜拜的事情.但是,世界并未从此消停 ,开发人员需要面对的是层出不穷的应用场景,这些场景往往逾越了普通 Spring 技术书籍的 理想界定.因此,随着应用开发的深入,在使用经过 Spring 层层封装的声明式事务时,开发 人员越来越觉得自己坠入了迷雾,陷入了沼泽,

Spring学习点滴,《Spring in Action》笔记(二)

第四章. 征服数据库 -------------------------------------------------------------------------------- 31. Spring 把数据访问流程中的固定部分和可变部分分开,分别映射成两截然不同的类,模板 (Template)和回调(Callback),模板管事物控制.资源管理以及异常处理:回调实现特定于应用的部 分--创建 statement.绑定参数.以及整理结果集.模板方法模式的优秀应用(P123) 32. Jdbc

SSH笔记二 整合hibernate和spring

重新整理起来才发觉,搭建一个SSH框架是件很繁琐的事情.不过总觉得自己搭建的用起来才觉得得心应手,所以尽量的从中来发现一些乐趣. 今天的任务是--整合hibernate和spring.完成的效果如下(左边为包视图.右边为文件视图): 1.准备工作(用mysql5新建数据库,暂且命名为ssimdb) 1.1 安装mysql5(略),安装完成之后可以使用Navicat8来进行管理mysql: 1.2 创建数据库 ssimdb: 1.3 创建表 ssim_user 1 drop table if ex

Spring MVC的配置

Spring MVC 在Spring的体系中和JdbcTemplate互相独立,分属于不同的jar包,使用默认位置不同的spring配置文件. Spring JdbcTemplate基本上完全可以单独拿来使用.也就是说,假如你在写一个Web项目,而且你打算用纯粹的JSP来实现网页的显示.逻辑处理也完全没有任何问题,你只需要在你的JSP页面中创建Spring JdbcTemplate的对象,使用它的方法,在SpringJdbc环境下编写java的方法,让你的JSP页面去使用这些方法,一点问题没有.

Java基础资料整理

 1.LocalThread的应用场景,数据传输适合用LocalThread么 2.linux的基本命令    软链接.更改用户组和名.查看磁盘IO.查看内存.查看磁盘大小 3.网络安全(攻防有哪几种类型) 4.JVM的包括哪几种,画图表示,JVM的垃圾回收算法有哪几种 5.年轻代.持久代.老年代 6.session和cookie的区别,在分布式环境中,如何保持session共享,例如两台tomcat中,其中一台挂了,剩下的如何保持会话. 7.HashMap的数据结构,画图, Concurren