- 浏览: 21142 次
- 性别:
- 来自: 杭州
最新评论
文章列表
Bean的生命周期
IoC容器的启动分为两个阶段,容器启动阶段和Bean实例化阶段。容器启动阶段上一篇已经介绍过了,下面说下Bean实例化阶段。对于BeanFactory,对象默认是延迟加载的,而ApplicationContext启动之后会实例化所有的bean定义,只不过ApplicationContext在启动后会调用注册到该容器的所有bean的getBean()方法。不妨根据Bean的生命周期做下理解: 1. 实例化bean
在了解了BeanFactory和Application这两个IoC容器之后,我们从整体上对IoC容器进行一下总结。首先Spring的IoC容器可以分为两个部分,其核心是IoC Service Provider,用于提供基本的IoC支持。此外还有一些其它的功能,包括线程管理、对象生命周期管理、企业服务集成和AOP支持等等。
IoC Service Provider
先来看下
pom.xml:
Maven是一个很好用的工具,工具这东东就要有一个配置文件之类的。pom.xml是Maven项目的核心,也可以理解为Maven在一个项目中配置文件。当我们新建一个Maven工程的时候,生成的pom.xml文件大概是这个样子:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache ...
接上回,由于BeanFactory已经渐渐被人们所遗弃,所以我们可以将应用改写为ApplicationContext容器管理。在使用ApplicationContext我们首先要将spring-context.jar添加到Maven依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version> ...
关于继承
domain继承的情况不多见,继承主要用于抽出两个实体中相同的部分,其数据库表结构的设计可以有多种方式。
直接通过例子说明好了,现在假设User存在两种:Company和Person,其中id、name、address为公共信息,我们可以抽出一个User类保存。假设Company有CEO、foundedDate、
ApplicationContext相对于BeanFactory多了国际化和事件发布等新功能,下面就对这些新功能或是说支持做一个总结。
国际化
首先说下国际化信息支持(I18n MessageSource),I18是Internationalization的缩写,因为这个但此很长并且有18个字母。在JavaSE中,我们使用Locale和ResourceBundle类(请自行参考Java SDK
ApplicationContext是对BeanFactory的一个扩展,观察ApplicationContext接口我们可以发现,这个接口除了继承了ListableBeanFactory和HierarchicalBeanFactory(BeanFactory的子接口)外,还继承了ApplicationEventPublisher和MessageSource接口,这两个接口就为Appli ...
Maven是什么?
Maven中文可以翻译成“知识的积累”,“专家”或“内行”。Maven是Apache的开源项目,主要用于Java项目构建、依赖管理和项目信息管理。对于小型的开源类库项目,大型的企业级应用,瀑布式开发,敏捷模式等等,Maven都能大显身手。
对于新手来说,可能
Spring框架的核心就是IoC,而Spring中IoC的实现是依靠容器的,Spring提供了两种IoC容器的实现,BeanFactory和ApplicationContext。
前者是一个基础的IoC容器,提供了完整的IoC服务支持,默认采用延迟初始化策略(当用户访问时才初始化)。而后者是在前者的基础上实现的,ApplicationContext对BeanFactory进行了很多的扩充,而使用起来也更加方。便,所以在一般的应用中,ApplicationContext应该是更好的选择。
在开始第一个Spring应用前,让我们先做如下一些准备:JDK(1.5以上)EclipseMaven及m2eclipse插件(可选,如果熟悉Maven可以很快的在项目中加入所需的Spring Jar包,如果想用Maven,那就自学一下,只要学一点基础就可以了)
Ok,让我们开始吧。首先,在Eclipse中创建一个Maven Project或Java Project,如果创建Maven Project,在第一个页面直接勾选Create a simple project即可:
然后点击next,下一步中的输入任意Group Id
JPA学习(一)——基本注解
- 博客分类:
- JPA学习
何为JPA:
JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate、TopLink等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate
IoC(控制反转),又称DI(依赖注入),是Spring的核心和灵魂。所谓的IoC,当你对Spring有一定了解的时候,可以将它简单的理解为实例的成员注入交由Spring容器控制,或者说成员依赖Spring容器注入到实例中。
那么究竟 ...
最近又要换项目组了,又是没用过的技术,这两年用了不下10种技术或者框架,看着很牛是不是,我只想说,用了不精不如自挂东南枝。
新项目要学JSF有木有,话说Velocity刚刚用熟反应不过来有木有,又要记一堆的标签 ...
Spring框架倡导基于POJO(Plain Old Java Object,简单Java对象)的轻量级开发理念,其框架整体结构如下图(盗图一份):
在Spring框架中,其它所有模块(Module)都是建立在其核心容器(Core Container)之上的,这个核心容器实际上是一个Ioc容器的实现。当然在最底层的模块中,除了这个核心容器外,还提供了框架内部使用的各种工具类(当然在框架之外使用也是可以的)。
在核心容器与工具类之上是各种轻便但功能强大的模块。
首先是AOP模块,AOP作为Spring质量三角型中的一条边,其作用和功能型自然不言而喻。AO ...
Spring是什么?
Spring有春天、弹簧、跳跃和泉眼的意思…好吧,Spring是一个业界流行的开源的轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。好多修饰,看起来是不是很牛掰,实际上Spring确实很牛掰,关于Spring的详 ...