Package org.apache.juneau.commons.inject
package org.apache.juneau.commons.inject
Lightweight bean lookup, contribution, and injection support for Juneau.
This package provides a compact, store-centric model intended for framework-owned wiring. It is not a general-purpose CDI/Spring replacement.
Supported annotation interop:
- JSR-330-style injection markers (matched by FQN, no hard dependency):
jakarta.inject.*,javax.inject.* - JSR-250 lifecycle markers (matched by FQN, no hard dependency):
jakarta.annotation.*,javax.annotation.* - Spring
@Autowiredsupport (matched by FQN)
Non-goals:
- Classpath component scanning
- AOP, transactions, scheduling, caching abstractions
- General graph solving/autowire containers
-
ClassDescriptionBasic implementation of
WritableBeanStore.Bean injection annotation.Utility classes and methods for the@Beanannotation.A collection of@Beanannotations.Builder class.Unchecked exception thrown when a bean creator method is found but its invocation fails.Utility class for creating beans through constructors, creator methods, and builders.Builder forBeanInstantiator.Lifecycle scope for the bean being created.Spring-bean-like interface for looking up beans by type and name.BeanStoreOverridable<B extends BeanStoreOverridable<B>>Marker interface for builders that accept an overridingBeanStore— a layer whose entries take precedence over the builder's local bean registrations during construction-time reflective injection.Predicate hook used byConditional.Generic registration guard based on a customCondition.Condition that requires a class to be present.Container for repeatableConditionalOnClass.Condition that requires a bean to be absent in the current store.Container for repeatableConditionalOnMissingBean.Container for repeatableConditionalOnProperty.Condition that checks a setting value.Container annotation for repeatableConditional.Runtime context for evaluatingConditioninstances.Declares a class as a prefix-scoped, whole-object config binding target — Juneau's analog of Spring's@ConfigurationProperties.Reusable, prefix-scoped whole-object config binder — usable with or without the@ConfigPropertiesannotation.Post-bind extension seam forConfigPropertiesBinder.Marks a type that contributes one or moreBeandeclarations.Marks constructors, methods, fields, or parameters as injection points.FQN-based support for JSR-style annotation detection.Identifies a bean-injection qualifier for constructor/method parameters and fields.Ordering hint for beans where lower values have higher precedence.Marks a no-arg lifecycle callback invoked after dependency injection.Marks a no-arg lifecycle callback invoked during store shutdown.Marks a bean contribution as preferred when multiple candidates exist.Provider<T>Lightweight provider interface equivalent to JSR-330 provider contracts.Meta-annotation used to declare qualifier annotations.Scope marker indicating one instance perBeanStore.Opaque handle for a single pushed overlay frame on aWritableBeanStore.Stack-awareBeanStoreoverlay.Resolves a configuration value into a constructor parameter, setter, or field.Internal helper used by the reflection layer to resolve@Value-annotated injection sites.ExtendsBeanStorewith methods for adding beans.