摘要: 本文大概的对IOC和AOP进行了解,入门先到这一点便已经有了大概的印象了,详细内容请看下文。 AD: 本文说明2点: 1.阅读源码的入口在哪里? 2.入门前必备知识了解:IOC和AOP 一、我们从哪里开始 1.准备工作:在官网上下载了Spring源代码之后,导入Eclipse,以方便查询。 2.打开 阅读全文
posted @ 2018-10-16 00:48 尐鱼儿 阅读(1027) 评论(0) 推荐(0)
摘要: Spring使用注入方式,为什么使用注入方式,这系列问题实际归结起来就是一句话,Spring的注入和IoC(本人关于IoC的阐述)反转控制是一回事。下面我们详细来了解一下 AD: 接口注入(不推荐) getter,setter方式注入(比较常用) 构造器注入(死的应用) 关于getter和sette 阅读全文
posted @ 2018-10-16 00:47 尐鱼儿 阅读(658) 评论(0) 推荐(0)
摘要: AOP(Aspect-Oriented Programming,面向切面的编程),它是可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。它是一种新的方法论,它是对传统OOP编程的一种补充。 AD:AOP(Aspect-Oriented Programmin 阅读全文
posted @ 2018-10-16 00:46 尐鱼儿 阅读(203) 评论(0) 推荐(0)
摘要: Spring有两种方法提供对EJB的支持:Spring能让你在Spring的配置文件里,把EJB作为Bean来声明。这样,把EJB引用置入到其他Bean的属性里就成为可能了,好像EJB就是另一个POJO。Spring能让你写EJB,让EJB成为Spring配置的Bean的代理的工作。Spring提供 阅读全文
posted @ 2018-10-16 00:44 尐鱼儿 阅读(298) 评论(0) 推荐(0)
摘要: Spring支持:使用JAX-RPC暴露服务,访问Web服务 除了上面所说的支持方法,你还可以用XFire xfire.codehaus.org 来暴露你的服务。XFire是一个轻量级的SOAP库,目前在Codehaus开发。 使用JAXI-RPC暴露服务 Spring对JAX-RPC Servle 阅读全文
posted @ 2018-10-16 00:39 尐鱼儿 阅读(258) 评论(0) 推荐(0)
摘要: Spring远程支持是由普通(Spring)POJO实现的,这使得开发具有远程访问功能的服务变得相当容易 四种远程调用技术: ◆ 远程方法调用(RMI) ◆ Caucho的Hessian和Burlap ◆Spring自己的Http invoker ◆使用SOAP和JAX-RPC的web Servic 阅读全文
posted @ 2018-10-16 00:37 尐鱼儿 阅读(882) 评论(0) 推荐(0)
摘要: 可以把事务想成一个切面,那么就可以用事务性边界包裹Biz层的方法,然后注入事务 Spring提供了三种在配置文件声明事务性边界的方式: ★常用的Spring aop代理 bean来支持事务。 ★但在Spring 2中增加了两种新的方式:简单的XML声明(xml-declared)事务。 ★注释驱动事 阅读全文
posted @ 2018-10-16 00:36 尐鱼儿 阅读(151) 评论(0) 推荐(0)
摘要: Spring Security:它提供全面的安全性解决方案,同时在Web请求和方法调用处理身份确认和授权,利用依赖注入和aop技术。主要名词: 1,安全拦截器:相当应用的一把锁,能够阻止对应用程序中保护资源的访问(通常是用户名和密码 正确才能打开锁)。 2,认证管理器:通过用户名和密码来做到这点的, 阅读全文
posted @ 2018-10-16 00:36 尐鱼儿 阅读(1024) 评论(0) 推荐(0)
摘要: 利用事务模板TransactionTemplate来手动添加事务 配置文件 阅读全文
posted @ 2018-10-16 00:35 尐鱼儿 阅读(774) 评论(0) 推荐(0)
摘要: 1,事务(见hibernate的ACID): Spring和EJB一样,不仅提供对程序控制事务管理的支持(手动事务),也对提供声明式事务管理的支持(容器管理事务),但是Spring对程序控制事务管理的支持与EJB很不一样。EJB的事务管理和Java Transaction API(JPA)密不可分。 阅读全文
posted @ 2018-10-16 00:34 尐鱼儿 阅读(168) 评论(0) 推荐(0)
摘要: Spring的aop机制提供两类方式实现类代理。一种是单个代理,一种是自动代理。 单个代理通过ProxyFactoryBean来实现(就如上面的配置)。 自动代理:自动代理能够让切面定义来决定那个bean需要代理,不需要我们为特定的bean明确的创建代理从而提供一个更完整的aop实现 通过BeanN 阅读全文
posted @ 2018-10-16 00:33 尐鱼儿 阅读(629) 评论(0) 推荐(0)
摘要: 为什么要用AspectJ:AspectJ提供了Spring AOP很多不能实现的多种切点类型(比如属性,构造方法切入,由于不能实现构造方法的切入spring aop就不能实现对象创建过程的通知) AspectJ是一个代码生成工具(Code Generator)。AspectJ有自己的语法编译工具,编 阅读全文
posted @ 2018-10-16 00:33 尐鱼儿 阅读(398) 评论(0) 推荐(0)
摘要: 代理主要有静态代理和动态代理。 静态代理:在代理中实现接口并创建实现类对象,在对实现类的方法增加功能(不常用)。 动态代理:实现implements InvocationHandler接口。实现方法: 流程图:在配置文件的配置 配置文件代码: 简化配置:有可能只是目标类不一样,其他的都是一样的。解决 阅读全文
posted @ 2018-10-16 00:30 尐鱼儿 阅读(328) 评论(0) 推荐(0)
摘要: AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面的编程。并不是全部的AOP框架都是一样的。他们连接点模型的功能可能有强弱之分,有些可以字段,方法,构造函数级别的,有些只能是方法的比如spring aop 最主要的三种aop框架:AspectJ,Jb 阅读全文
posted @ 2018-10-16 00:29 尐鱼儿 阅读(446) 评论(0) 推荐(0)
摘要: 实现 BeanFactoryAware 接口的 bean 可以直接访问 Spring 容器,被容器创建以后,它会拥有一个指向 Spring 容器的引用。 BeanFactoryAware 接口只有一个方法void setBeanFactory(BeanFactorybeanFactory)。配置和一 阅读全文
posted @ 2018-10-16 00:28 尐鱼儿 阅读(654) 评论(0) 推荐(0)
摘要: 让spring完成自动装配 Autowiring 解决标签为javaBean注入时难以维护而实现的 下面是几种autowire type的说明: 1,byname:试图在容器中寻找和需要自动装配的属性名相同的bean或id,如果没有找到相应的bean,则这个属性未被装配上。配置文件中的id/name 阅读全文
posted @ 2018-10-16 00:27 尐鱼儿 阅读(176) 评论(0) 推荐(0)
摘要: FactoryBean(工厂bean):是bean的加工工厂,是对已知Bean的加工,是一个接口,要实现三个方法: ① Object getObject()可以对bean进行加工添加功能。 ② Class getObjectType()。 ③ Boolean isSingleton()。 Bf.ge 阅读全文
posted @ 2018-10-16 00:26 尐鱼儿 阅读(949) 评论(0) 推荐(0)
摘要: ApplicationContext覆盖了BeanFactory的所有功能,并提供了更多的特,容器创建时就创建了singleton Bean 相对BeanFactory而言,ApplicationContext提供了以下扩展功能: 1.国际化支持:继承MessageSource接口,提供国际化支持 阅读全文
posted @ 2018-10-16 00:26 尐鱼儿 阅读(1773) 评论(0) 推荐(0)
摘要: 初始化两种方法: 1,使用init-method属性指定那个方法在bean依赖关系设置好后自动执行。 2,实现initializingBean接口 实现该接口必须实现void afterPropertiesSet()throws Exception那么就不用设置init-method方法了,注意:最 阅读全文
posted @ 2018-10-16 00:24 尐鱼儿 阅读(99) 评论(0) 推荐(0)
摘要: Spring容器,最基本的接口就是BeanFactory 负责创建,配置,管理bean 它有一个子接口ApplicationContext并将功能扩展。 理论上bean装配可以从任何资源获得,包括属性文件,关系数据库等,但xml是最常用的XmlBeanFactory,ClassPathXmlAppl 阅读全文
posted @ 2018-10-16 00:24 尐鱼儿 阅读(148) 评论(0) 推荐(0)
摘要: 定义抽象类Abstract=“true”抽象bean不能实例化,一个类可以创建多个bean。 抽象bean的配置和一般bean的配置基本一样只是在增加了Abstract=“true”抽象bean是一个bean的模板,容器会忽略抽象bean的定义,不会实例化抽象bean,故不能通过getBean()显 阅读全文
posted @ 2018-10-16 00:22 尐鱼儿 阅读(346) 评论(0) 推荐(0)
摘要: Xml配置文件属性的说明: ⑴ id Java Bean在BeanFactory中的唯一标识,代码中通过BeanFactory获取。 JavaBean实例时需以此作为索引名称。 ⑵ class Java Bean 类名 即真正接口的实现类。 ⑶ singleton bean的作用域(创建模式(pro 阅读全文
posted @ 2018-10-16 00:21 尐鱼儿 阅读(759) 评论(0) 推荐(0)
摘要: 1含义:为解决企业应用开发的复杂性而创建的开源框架,用基本的javaBean来完成EJB的事情 从大小和开销方向spring都是轻量级的。 2,用途 ① Ioc容器可以将对象之间的依赖关系交由spring管理,进行控制。 ② AOP:方便进行面向切面的编程,是oop的扩展,想加什么功能直接加。 ③ 阅读全文
posted @ 2018-10-16 00:20 尐鱼儿 阅读(131) 评论(0) 推荐(0)
摘要: 编写权限控制器: Struts2.xml的配置文件: 还要一种方法拦截器,可以对某个action的方法进行拦截 编码类似action拦截器: 只是在配置的时候和其他interceptor有些区别: 阅读全文
posted @ 2018-10-16 00:14 尐鱼儿 阅读(295) 评论(0) 推荐(0)
摘要: 例 HelloWorld.jsp 例 classes/tutorial/HelloWorld.java 例 classes/struts.xml中HelloWorld Action的配置 阅读全文
posted @ 2018-10-16 00:13 尐鱼儿 阅读(179) 评论(0) 推荐(0)
摘要: struts.xml的配置: 阅读全文
posted @ 2018-10-16 00:12 尐鱼儿 阅读(123) 评论(0) 推荐(0)
摘要: 1,浏览器发送请求,例如请求 /mypage.action /report/myreport.pdf等。 2,核心控制器FilterDispatcher根据请求决定调用合适的Action。 3,WebWork的拦截器链自动对请求应用通用功能,例如 workflow,validation或文件下载和上 阅读全文
posted @ 2018-10-16 00:11 尐鱼儿 阅读(192) 评论(0) 推荐(0)
摘要: 先大致介绍下struts1和struts2 struts:过去最流行的web MVC组件,apache项目组的一个开源项目。 struts2:现在非常流行的web MVC组件,是apache用struts1和webwork组合出来的产品。 两者都是web MVC组件,利用这两个组件都可以比较方便地开 阅读全文
posted @ 2018-10-16 00:10 尐鱼儿 阅读(162) 评论(0) 推荐(0)
摘要: 这里的关系是指对象之间的关系,不是数据库之间的关系。 简化问题: a)怎么写Annotation b)增删改查CRUD怎么写。 三种关系(一对一,一对多,多对多)如果在程序里就有(单向,多向)七种。 常用的主键关联的单向的外建关联。 一对一的单向外建关联: a)如果在类里面new另一个对象,则是类的 阅读全文
posted @ 2018-10-16 00:07 尐鱼儿 阅读(196) 评论(0) 推荐(0)
摘要: 在保存的前面必须先建立好关联。但是默认情况下还是不会自动保存,如果保存会出错。 Cascade all所有关联的所有持久化都是级联到另一个对象。保存这个对象的时候关联的对象自动保存。 Cascade只是给我们编程的关联关系方便。 双向关联必须要设置双向关系,双向mappedBy在读取的时候,如果读取 阅读全文
posted @ 2018-10-16 00:07 尐鱼儿 阅读(109) 评论(0) 推荐(0)
摘要: 一、多个事务运行时的并发问题 并发问题归纳为以下几类: 1,第一类丢失更新:撤销一个事务时,把其他事务已经提交的更新数据覆盖。 2,赃读:一个事务读到另一个事务未提交的更新数据。 3,虚读:一个事务读到另一个事务提交的新插入的数据。 4,不可重复读:一个事务读到另一个事务已经提交的更新数据。事务A对 阅读全文
posted @ 2018-10-16 00:06 尐鱼儿 阅读(236) 评论(0) 推荐(0)
摘要: 悲观锁:在查询时加 五种模式: LockMode.NONE:查询时先在cache(缓存)里找,如果没有,再到db里加载无锁机制。 LockMode.READ:不管cache有没有,都查询数据库,Hibernate在读取记录的时候会自动获取。 LockMode.UPGRADE:不管cache有没有,都 阅读全文
posted @ 2018-10-16 00:05 尐鱼儿 阅读(142) 评论(0) 推荐(0)
摘要: Hibernate中的实体对象可以分为三种状态:Transient(临时)、Persistent(持久)、Detached(游离) Transient 用new创建出对象,这些对象还没有与数据库发生任何的关系,不对应于数据库中的任一笔数据;Persistent 对象通过调用delete()方法,也成 阅读全文
posted @ 2018-10-16 00:04 尐鱼儿 阅读(234) 评论(0) 推荐(0)
摘要: 本文通过了八个步骤以及一些实例添加用户来介绍Hibernate的搭建和使用,真切的介绍了hibernate的基本用法,其中好多优点等待我们自己去发现,比如hibernate中的缓存机制,映射方案。 1.创建普通的java项目。 因为Hibernate是一个轻量级的框架,不像servlet,还必须需要 阅读全文
posted @ 2018-10-16 00:03 尐鱼儿 阅读(241) 评论(0) 推荐(0)
摘要: 1.什么是Hibernate? 首先,Hibernate是数据持久层的一个轻量级框架。数据持久层的框架有很多比如:iBATIS,myBatis,Nhibernate,Siena等等。 并且Hibernate是一个开源的orm(object relations model)框架,提供了查询获取数据的方 阅读全文
posted @ 2018-10-16 00:01 尐鱼儿 阅读(174) 评论(0) 推荐(0)