关闭

spring之旅

153人阅读 评论(0) 收藏 举报
分类:

1.1简化Java开发

为了简化java开发的复杂性,spring采用了一下四种关键策略:

a)基于POJO(plain old java object)的轻量级和最小侵入性编程。

比如说,许多框架比如struts通过强迫应用继承它们的类或实现它们的接口从而导致应用与框架绑定,但Spring不会,相反,在基于spring构建的应用中,它 的类通常不会有任何痕迹表明你使用了Spring。最坏的场景也是一个类或许用了spring注解,但它依旧是POJO.

b)通过依赖注入和面向接口实现松耦合。

耦合具有两面性。一方面,紧密耦合的代码难以测试,难以复用,难以理解,而且很容易出现“打地鼠”bug(修复一个bug,会出现一个或者更多的bug);另一 方面,一定的程度的耦合又是必须的。因此,耦合是必须的,但必须谨慎管理。

c)基于切面和惯例进行声明式编程。

DI(dependency injection)能够让相互的协作的软件组件保持松散耦合,而面向切面编程(aspect-oriented programing,AOP)允许你把遍布应用各处的功能分离 出来形成可复用的组件。诸如日志、事物管理、安全这样的系统服务。

d)通过切面和模板消除样板式代码。

最典型的例子就是JDBC,里面的建立数据库连接、语句对象等等样板式代码,而我们的关注点应该是业务代码,而不是这些繁琐重复的样板式代码。

1.2 容纳你的bean

在基于spring的应用中,你的应用对象生存与spring容器(container中,spring容器负责创建对象,装配它们,配置它们并管理它们的整个生命周期。

spring容器不只有一个。自带了多个容器实现,可以归为两种类型。

a)BeanFactory(org.springframework.beans.factory.BeanFactory接口定义)是最简单的容器,提供了基本的DI支持。

b)ApplicationContext(org.springframework.context.Application接口定义)基于BeanFactory构建.

AnnotationConfigApplicationContext:从一个或多个基于java的配置类中加载应用上下文。

AnnotationConfigWebApplicationContext:从一个或多个基于java的配置类中加载Spring Web应用上下文.

ClassPathXmlApplicationContext:从类路径下一个或多个xml配置文件中加载上下文定义,把应用上下文的定义文件作为类资源。

FileSystemXmlApplicationContext:从文件系统下的一个或多个XML配置文件中加载上下文定义。

XmlWebApplicationContext:从web应用下的一个或多个xml配置文件中加载上下文定义。

bean的生命周期

0
0
查看评论

spring入门(1)---开始spring之旅

Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发. IOC 控制反转 public class PersonServiceBean {      priv...
  • sgx425021234
  • sgx425021234
  • 2013-04-23 21:18
  • 4538

一.Spring学习之旅----初识Spring

既然学习java,那么spring框架是必然要学的东西了。网上查看了一段时间,今天开始亲自实践,对于一个自学java的人来说,还是蛮困难。废话不多说,进入正题。 1.Spring是什么? Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。 2.既然是框架,那么...
  • wenwen091100304
  • wenwen091100304
  • 2015-07-07 21:10
  • 1147

spring使用之旅 ---- bean的装配

基础配置 启用组件扫描配置                     Java类配置文件方式 package com.springa...
  • qq_34574222
  • qq_34574222
  • 2018-01-07 23:41
  • 45

SpingBoot之旅(一)——从一个简单的Demo入手

本文主要是从一个SpringBoot的Demo开始记录学习之旅
  • nawenwang1323
  • nawenwang1323
  • 2017-06-11 18:46
  • 149

Spring学习之旅(七) 使用属性文件

简单看看如何使用属性文件配置项目
  • yjp19871013
  • yjp19871013
  • 2016-12-26 10:26
  • 372

AngularJS教程:英雄之旅

我们这个教程的宏伟计划是建立一个应用程序,以帮助人事管理机构管理其英雄的稳定性。哪怕是英雄也需要去找到工作。 当然,我们只会在本教程中取得一些进展。我们想要建造的,将会拥有很多我们在一个非常成熟的,数据驱动的应用程序中期望可以找到的功能:获取和显示英雄列表,编辑所选英雄的细节,以及在不同的英雄数据...
  • chaiyu2002
  • chaiyu2002
  • 2017-01-08 10:18
  • 522

java经典考题

1、通过method方法只输出 "a=100 b=100"public static void main(string[] args){ a=10; b=10; method(a,b); sysout("a="+a); sysout("b=...
  • lzp158869557
  • lzp158869557
  • 2017-02-15 14:42
  • 76

ECO中的对象乐观锁定(Optimistic Locking)

多客户端ECO技术的对象操作乐观锁定(Optimistic Locking)    ECO中的对象乐观锁定设置位于ECO类的design-time属性中,用于解决多个客户端同时进行修改而带来操作冲突,比如有个ECO类Person,里面有两个属性Firstname:str...
  • Eroschina
  • Eroschina
  • 2006-02-02 20:13
  • 3348

数据库高并发下乐观锁的原理

在高并发下,经常需要处理SELECT之后,在业务层处理逻辑,再执行UPDATE的情况。   若两个连接并发查询同一条数据,然后在执行一些逻辑判断或业务操作后,执行UPDATE,可能出现与预期不相符的结果。   在不使用悲观锁与复杂SQL的前提下,可以使用乐观锁处理该问题,同时兼顾性能。 ...
  • emoyuer
  • emoyuer
  • 2016-12-29 14:26
  • 155

[风火之旅]坐骑镶嵌'马掌' 更显神威

在《风火之旅》首部资料片前章“使命召唤”中,我们将为广大风火英雄们推出了特殊的坐骑镶嵌道具——马掌!只要将马掌镶嵌到你心爱的坐骑上,就能大大增强它的威力,惊人的属性加成将使你感到全身心的蜕变!- [风火之旅]坐骑镶嵌"马掌" 更显神威
  • ddsdsdssd22112
  • ddsdsdssd22112
  • 2008-03-16 22:39
  • 497
    个人资料
    • 访问:1087次
    • 积分:106
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章分类