|
Welcome to the JingDAO Tutorial. In this section, we'll explore many of
the different features and programming practices available in JingDAO.
The tutorial has the following sections:
-
Basic Usage
: The very basics of setting up JingDAO
-
Context Configuration
: Exploring the configuration options
-
Resolvers
: Using DAO Resolvers (allows JNDI lookups and more)
-
DAO Configuration
: how to do per-DAO configuration
-
Environments
: How to use JingDAO in various environments
-
Writing Daos
: Tips and thoughts on DAO Implementation
WARNING: The tutorial is still under development.
Many of the tutorials take advantage of the
unit tests
included in the JingDAO source. Others include seperate source and
configuration data. In either case, there are some basic tools you'll
need to compile and run the JingDAO examples:
-
Maven
: Maven is a Java project management tool and can be used
to build the JingDAO binaries.
Note: a maven-style repository has been set up at
jadetower.org/dist
to assist in maven builds. You can add this to your remote repository
list by including the following line in your maven
build.properties
file in your home directory:
maven.repo.remote=http://jadetower.org/dist/,http://ibiblio.org/maven
Before we start, let's define some common terms:
Term
|
Definition
|
Inversion of Control (IoC)
|
Inversion of control is a design pattern in which component
control (invocation, lifecycle, dependencies, configuration)
is specifically handled by a container or framework and not
by the component itself. Generally requires components to
access each other only on an interface (or "service") level,
not at an implementation level.
|
Seperation of Concerns (SoC)
|
A design pattern which encourages components to focus on only
a single task.
|
Interface Driven Design
|
A design pattern in which interaction between objects or components
happens strictly at a interface level. Components never access
another component implementation.
|
Data Access Object (DAO)
|
a design pattern which "allows data access mechanisms to change
independently of the code that uses the data."
|
Avalon
|
A component framework for the Java platform which supports IoC and
SoC programming. Avalon provides a base framework plus several
container implementations. JingDAO uses the base Avalon framework
to provide configuration and lifecycle support.
|
PicoContainer
|
A very simple (that's a good thing) IoC container. It is used internally
by the JingDAO DaoManagers.
|
|