You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2020/11/12 14:52:03 UTC

[juneau] branch master updated: Remove all applyX annotations.

This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new df08236  Remove all applyX annotations.
df08236 is described below

commit df082369f322a30b7dc011da110113ead4d8dd93
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Thu Nov 12 09:51:55 2020 -0500

    Remove all applyX annotations.
---
 .../java/org/apache/juneau/PropertyStoreTest.java  | 15 ++++++---
 .../juneau/a/rttests/RoundTripBeanMapsTest.java    | 10 ++++--
 .../org/apache/juneau/html/BasicHtml_Test.java     | 36 ++++++++++++++++------
 .../java/org/apache/juneau/html/Html_Test.java     | 26 ++++++++++------
 .../test/java/org/apache/juneau/json/JsonTest.java | 18 +++++++----
 .../juneau/jsonschema/JsonSchemaGeneratorTest.java | 32 +++++++++++++------
 .../org/apache/juneau/testutils/pojos/XBeans.java  |  2 +-
 .../java/org/apache/juneau/urlencoding/DTOs2.java  |  4 ++-
 .../org/apache/juneau/jena/annotation/Rdf.java     |  3 +-
 .../apache/juneau/jena/annotation/RdfConfig.java   | 13 --------
 .../jena/annotation/RdfConfigAnnotation.java       |  4 ---
 .../java/org/apache/juneau/annotation/Bean.java    | 30 ++++++++++++++++++
 .../java/org/apache/juneau/csv/annotation/Csv.java |  3 +-
 .../apache/juneau/csv/annotation/CsvConfig.java    | 13 --------
 .../juneau/csv/annotation/CsvConfigAnnotation.java |  6 ----
 .../org/apache/juneau/html/annotation/Html.java    |  3 +-
 .../apache/juneau/html/annotation/HtmlConfig.java  | 26 ----------------
 .../html/annotation/HtmlConfigAnnotation.java      |  6 ----
 .../apache/juneau/html/annotation/HtmlLink.java    |  3 +-
 .../java/org/apache/juneau/jso/annotation/Jso.java |  3 +-
 .../apache/juneau/jso/annotation/JsoConfig.java    | 13 --------
 .../juneau/jso/annotation/JsoConfigAnnotation.java |  6 ----
 .../org/apache/juneau/json/annotation/Json.java    |  3 +-
 .../apache/juneau/json/annotation/JsonConfig.java  | 13 --------
 .../json/annotation/JsonConfigAnnotation.java      |  4 ---
 .../jsonschema/annotation/JsonSchemaConfig.java    | 13 --------
 .../annotation/JsonSchemaConfigAnnotation.java     |  4 ---
 .../juneau/jsonschema/annotation/Schema.java       |  3 +-
 .../apache/juneau/msgpack/annotation/MsgPack.java  |  3 +-
 .../juneau/msgpack/annotation/MsgPackConfig.java   | 13 --------
 .../annotation/MsgPackConfigAnnotation.java        |  4 ---
 .../org/apache/juneau/oapi/annotation/OpenApi.java |  3 +-
 .../juneau/oapi/annotation/OpenApiConfig.java      | 13 --------
 .../oapi/annotation/OpenApiConfigAnnotation.java   |  3 --
 .../juneau/plaintext/annotation/PlainText.java     |  3 +-
 .../plaintext/annotation/PlainTextConfig.java      | 13 --------
 .../annotation/PlainTextConfigAnnotation.java      |  6 ----
 .../org/apache/juneau/soap/annotation/SoapXml.java |  3 +-
 .../juneau/soap/annotation/SoapXmlConfig.java      | 13 --------
 .../soap/annotation/SoapXmlConfigAnnotation.java   |  4 ---
 .../java/org/apache/juneau/uon/annotation/Uon.java |  3 +-
 .../apache/juneau/uon/annotation/UonConfig.java    | 13 --------
 .../juneau/uon/annotation/UonConfigAnnotation.java |  4 ---
 .../juneau/urlencoding/annotation/UrlEncoding.java |  3 +-
 .../urlencoding/annotation/UrlEncodingConfig.java  | 13 --------
 .../annotation/UrlEncodingConfigAnnotation.java    |  5 ---
 .../java/org/apache/juneau/xml/annotation/Xml.java |  3 +-
 .../apache/juneau/xml/annotation/XmlConfig.java    | 13 --------
 .../juneau/xml/annotation/XmlConfigAnnotation.java |  4 ---
 juneau-doc/docs/ReleaseNotes/9.0.0.html            | 15 +++++++++
 .../apache/juneau/rest/annotation/Body_Test.java   |  7 ++---
 51 files changed, 174 insertions(+), 305 deletions(-)

diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/PropertyStoreTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/PropertyStoreTest.java
index c604b14..1284e4f 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/PropertyStoreTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/PropertyStoreTest.java
@@ -1797,17 +1797,22 @@ public class PropertyStoreTest {
 	public void testEqualsWithAnnotations() {
 		HtmlSerializer
 			s1 = HtmlSerializer.create().build(),
-			s2 = HtmlSerializer.create().applyAnnotations(B1.class).build(),
-			s3 = HtmlSerializer.create().applyAnnotations(B1.class).build(),
-			s4 = HtmlSerializer.create().applyAnnotations(B2.class).build();
+			s2 = HtmlSerializer.create().applyAnnotations(B1Config.class).build(),
+			s3 = HtmlSerializer.create().applyAnnotations(B1Config.class).build(),
+			s4 = HtmlSerializer.create().applyAnnotations(B2Config.class).build();
 		assertFalse(s1.getPropertyStore().equals(s2.getPropertyStore()));
 		assertFalse(s1.getPropertyStore().equals(s4.getPropertyStore()));
 		assertTrue(s2.getPropertyStore().equals(s3.getPropertyStore()));
 	}
 
-	@HtmlConfig(applyHtml={@Html(on="B1", format=HtmlFormat.XML)})
+	@Html(on="B1", format=HtmlFormat.XML)
+	private static class B1Config {}
+
 	public static class B1 {}
-	@HtmlConfig(applyHtml={@Html(on="B2", format=HtmlFormat.HTML)})
+
+	@Html(on="B2", format=HtmlFormat.HTML)
+	private static class B2Config {}
+
 	public static class B2 {}
 
 	@Test
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
index 9591972..708ce2d 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
@@ -39,7 +39,7 @@ import org.junit.*;
 @FixMethodOrder(NAME_ASCENDING)
 public class RoundTripBeanMapsTest extends RoundTripTest {
 
-	static Class<?>[] ANNOTATED_CLASSES={L2.class, M2.class};
+	static Class<?>[] ANNOTATED_CLASSES={L2Config.class, M2Config.class};
 
 	public RoundTripBeanMapsTest(String label, SerializerBuilder s, ParserBuilder p, int flags) throws Exception {
 		super(label, s.applyAnnotations(ANNOTATED_CLASSES), p == null ? null : p.applyAnnotations(ANNOTATED_CLASSES), flags);
@@ -897,7 +897,9 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
 		roundTrip(m, LinkedHashMap.class, String.class, L2.class);
 	}
 
-	@JsonConfig(applyJson=@Json(on="L2",wrapperAttr="foo"))
+	@Json(on="L2",wrapperAttr="foo")
+	private static class L2Config {}
+
 	public static class L2 {
 		public int f1;
 
@@ -953,7 +955,9 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
 		roundTrip(m, LinkedHashMap.class, String.class, M2.class);
 	}
 
-	@JsonConfig(applyJson=@Json(on="M2",wrapperAttr="foo"))
+	@Json(on="M2",wrapperAttr="foo")
+	private static class M2Config {}
+
 	public static class M2 {
 		int f1;
 
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/BasicHtml_Test.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/BasicHtml_Test.java
index c0d9502..b97afb0 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/BasicHtml_Test.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/BasicHtml_Test.java
@@ -34,7 +34,7 @@ import org.junit.runners.*;
 public class BasicHtml_Test {
 
 	private static final Class<?>[] ANNOTATED_CLASSES = {
-		BeanWithWhitespaceTextFields2.class, BeanWithWhitespaceTextPwsFields2.class, BeanWithWhitespaceMixedFields2.class, BeanWithWhitespaceMixedPwsFields2.class, LinkBeanC.class
+		BeanWithWhitespaceTextFields2Config.class, BeanWithWhitespaceTextPwsFields2Config.class, BeanWithWhitespaceMixedFields2Config.class, BeanWithWhitespaceMixedPwsFields2Config.class, LinkBeanCConfig.class
 	};
 	private static final HtmlSerializer
 		s1 = HtmlSerializer.DEFAULT_SQ.builder().addRootType().applyAnnotations(ANNOTATED_CLASSES).build(),
@@ -3371,7 +3371,11 @@ public class BasicHtml_Test {
 		}
 	}
 
-	@HtmlConfig(applyHtmlLink=@HtmlLink(on="LinkBeanC", nameProperty="a", uriProperty="b"))
+	@HtmlLink(on="Dummy1", nameProperty="a", uriProperty="b")
+	@HtmlLink(on="LinkBeanC", nameProperty="a", uriProperty="b")
+	@HtmlLink(on="Dummy2", nameProperty="a", uriProperty="b")
+	private static class LinkBeanCConfig {}
+
 	public static class LinkBeanC {
 		public String a;
 		public String b;
@@ -3553,8 +3557,14 @@ public class BasicHtml_Test {
 		}
 	}
 
-	@HtmlConfig(applyHtml={@Html(on="BeanWithWhitespaceTextFields2",format=XML)})
-	@XmlConfig(applyXml={@Xml(on="BeanWithWhitespaceTextFields2.a",format=XmlFormat.TEXT)})
+	@Html(on="Dummy1",format=XML)
+	@Html(on="BeanWithWhitespaceTextFields2",format=XML)
+	@Html(on="Dummy2",format=XML)
+	@Xml(on="Dummy1.a",format=XmlFormat.TEXT)
+	@Xml(on="BeanWithWhitespaceTextFields2.a",format=XmlFormat.TEXT)
+	@Xml(on="Dumuy2.a",format=XmlFormat.TEXT)
+	private static class BeanWithWhitespaceTextFields2Config {}
+
 	public static class BeanWithWhitespaceTextFields2 {
 		public String a;
 
@@ -3564,8 +3574,10 @@ public class BasicHtml_Test {
 		}
 	}
 
-	@HtmlConfig(applyHtml={@Html(on="BeanWithWhitespaceTextPwsFields2",format=XML)})
-	@XmlConfig(applyXml={@Xml(on="BeanWithWhitespaceTextPwsFields2.a",format=XmlFormat.TEXT_PWS)})
+	@Html(on="BeanWithWhitespaceTextPwsFields2",format=XML)
+	@Xml(on="BeanWithWhitespaceTextPwsFields2.a",format=XmlFormat.TEXT_PWS)
+	private static class BeanWithWhitespaceTextPwsFields2Config {}
+
 	public static class BeanWithWhitespaceTextPwsFields2 {
 		public String a;
 
@@ -3575,8 +3587,10 @@ public class BasicHtml_Test {
 		}
 	}
 
-	@HtmlConfig(applyHtml={@Html(on="BeanWithWhitespaceMixedFields2",format=XML)})
-	@XmlConfig(applyXml={@Xml(on="BeanWithWhitespaceMixedFields2.a",format=XmlFormat.MIXED)})
+	@Html(on="BeanWithWhitespaceMixedFields2",format=XML)
+	@Xml(on="BeanWithWhitespaceMixedFields2.a",format=XmlFormat.MIXED)
+	public static class BeanWithWhitespaceMixedFields2Config {}
+
 	public static class BeanWithWhitespaceMixedFields2 {
 		public String[] a;
 
@@ -3586,8 +3600,10 @@ public class BasicHtml_Test {
 		}
 	}
 
-	@HtmlConfig(applyHtml={@Html(on="BeanWithWhitespaceMixedPwsFields2",format=XML)})
-	@XmlConfig(applyXml={@Xml(on="BeanWithWhitespaceMixedPwsFields2.a",format=XmlFormat.MIXED_PWS)})
+	@Html(on="BeanWithWhitespaceMixedPwsFields2",format=XML)
+	@Xml(on="BeanWithWhitespaceMixedPwsFields2.a",format=XmlFormat.MIXED_PWS)
+	public static class BeanWithWhitespaceMixedPwsFields2Config {}
+
 	@Html(format=XML)
 	public static class BeanWithWhitespaceMixedPwsFields2 {
 		public String[] a;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/Html_Test.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/Html_Test.java
index 23aae8a..c63e033 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/Html_Test.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/Html_Test.java
@@ -243,7 +243,7 @@ public class Html_Test {
 
 	@Test
 	public void b02_testHtmlAnnotationAsPlainText_usingConfig() throws Exception {
-		HtmlSerializer s = HtmlSerializer.create().sq().addKeyValueTableHeaders().applyAnnotations(B3.class).applyAnnotations(B4.class).build();
+		HtmlSerializer s = HtmlSerializer.create().sq().addKeyValueTableHeaders().applyAnnotations(B3Config.class).build();
 
 		Object o = null;
 		String r;
@@ -257,7 +257,10 @@ public class Html_Test {
 		assertEquals("<table><tr><th>key</th><th>value</th></tr><tr><td>f1</td><td><f1></td></tr></table>", r);
 	}
 
-	@HtmlConfig(applyHtml=@Html(on="B3", format=PLAIN_TEXT))
+	@Html(on="B3", format=PLAIN_TEXT)
+	@Html(on="B4.f1", format=PLAIN_TEXT)
+	private static class B3Config {}
+
 	public static class B3 {
 		public String f1 = "<f1>";
 		@Override /* Object */
@@ -266,7 +269,6 @@ public class Html_Test {
 		}
 	}
 
-	@HtmlConfig(applyHtml=@Html(on="B4.f1", format=PLAIN_TEXT))
 	public static class B4 {
 		public String f1 = "<f1>";
 	}
@@ -301,7 +303,7 @@ public class Html_Test {
 
 	@Test
 	public void c02_testHtmlAnnotationAsXml_usingConfig() throws Exception {
-		HtmlSerializer s = HtmlSerializer.create().sq().addKeyValueTableHeaders().applyAnnotations(C3.class).build();
+		HtmlSerializer s = HtmlSerializer.create().sq().addKeyValueTableHeaders().applyAnnotations(C3Config.class).build();
 		Object o = null;
 		String r;
 
@@ -314,7 +316,9 @@ public class Html_Test {
 		assertEquals("<table><tr><th>key</th><th>value</th></tr><tr><td>f1</td><td>&lt;f1&gt;</td></tr></table>", r);
 	}
 
-	@HtmlConfig(applyHtml=@Html(on="C3,C4.f1",format=XML))
+	@Html(on="C3,C4.f1",format=XML)
+	private static class C3Config {}
+
 	public static class C3 {
 		public String f1 = "<f1>";
 	}
@@ -344,7 +348,7 @@ public class Html_Test {
 
 	@Test
 	public void d02_testNoTableHeaders_usingConfig() throws Exception {
-		HtmlSerializer s = HtmlSerializer.DEFAULT_SQ.builder().applyAnnotations(MyMap2.class).build();
+		HtmlSerializer s = HtmlSerializer.DEFAULT_SQ.builder().applyAnnotations(MyMap2Config.class).build();
 		Object o = null;
 		String r;
 
@@ -355,7 +359,9 @@ public class Html_Test {
 		assertEquals("<ul><li><table><tr><td>foo</td><td>bar</td></tr></table></li></ul>", r);
 	}
 
-	@HtmlConfig(applyHtml=@Html(on="org.apache.juneau.html.Html_Test$MyMap2", noTables=true, noTableHeaders=true))
+	@Html(on="org.apache.juneau.html.Html_Test$MyMap2", noTables=true, noTableHeaders=true)
+	private static class MyMap2Config {}
+
 	public static class MyMap2 extends LinkedHashMap<String,String> {}
 
 	//-----------------------------------------------------------------------------------------------------------------
@@ -380,7 +386,7 @@ public class Html_Test {
 
 	@Test
 	public void d04_testNoTableHeadersOnBeans_usingConfig() throws Exception {
-		HtmlSerializer s = HtmlSerializer.DEFAULT_SQ.builder().applyAnnotations(MyBean2.class).build();
+		HtmlSerializer s = HtmlSerializer.DEFAULT_SQ.builder().applyAnnotations(MyBean2Config.class).build();
 		Object o = null;
 		String r;
 
@@ -390,7 +396,9 @@ public class Html_Test {
 		assertEquals("<table _type='array'><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>1</td><td>2</td><td>3</td></tr></table>", r);
 	}
 
-	@HtmlConfig(applyHtml=@Html(on="MyBean2", noTableHeaders=true))
+	@Html(on="MyBean2", noTableHeaders=true)
+	private static class MyBean2Config {}
+
 	public static class MyBean2 {
 		public int a=1,b=2,c=3;
 	}
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/json/JsonTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/json/JsonTest.java
index b03ceb0..e9360e6 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/json/JsonTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/json/JsonTest.java
@@ -228,8 +228,8 @@ public class JsonTest {
 
 	@Test
 	public void testWrapperAttrAnnotationOnBean_usingConfig() throws Exception {
-		JsonSerializer s = SimpleJsonSerializer.DEFAULT.builder().applyAnnotations(A2.class).build();
-		JsonParser p = JsonParser.DEFAULT.builder().applyAnnotations(A2.class).build();
+		JsonSerializer s = SimpleJsonSerializer.DEFAULT.builder().applyAnnotations(A2Config.class).build();
+		JsonParser p = JsonParser.DEFAULT.builder().applyAnnotations(A2Config.class).build();
 		String r;
 
 		A2 t = A2.create();
@@ -247,7 +247,11 @@ public class JsonTest {
 		assertEquals(1, m.get("bar").f1);
 	}
 
-	@JsonConfig(applyJson=@Json(on="A2",wrapperAttr="foo"))
+	@Json(on="Dummy1",wrapperAttr="foo")
+	@Json(on="A2",wrapperAttr="foo")
+	@Json(on="Dummy2",wrapperAttr="foo")
+	private static class A2Config {}
+
 	public static class A2 {
 		public int f1;
 
@@ -306,8 +310,8 @@ public class JsonTest {
 
 	@Test
 	public void testWrapperAttrAnnotationOnNonBean_usingConfig() throws Exception {
-		JsonSerializer s = SimpleJsonSerializer.DEFAULT.builder().applyAnnotations(B2.class).build();
-		JsonParser p = JsonParser.DEFAULT.builder().applyAnnotations(B2.class).build();;
+		JsonSerializer s = SimpleJsonSerializer.DEFAULT.builder().applyAnnotations(B2Config.class).build();
+		JsonParser p = JsonParser.DEFAULT.builder().applyAnnotations(B2Config.class).build();;
 		String r;
 
 		B2 t = B2.create();
@@ -325,7 +329,9 @@ public class JsonTest {
 		assertEquals(1, m.get("bar").f1);
 	}
 
-	@JsonConfig(applyJson=@Json(on="B2",wrapperAttr="foo"))
+	@Json(on="B2",wrapperAttr="foo")
+	private static class B2Config {}
+
 	public static class B2 {
 		int f1;
 
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
index 9dfbd54..8b94c9a 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
@@ -1396,11 +1396,15 @@ public class JsonSchemaGeneratorTest {
 
 	@Test
 	public void jsonSchema_onclass_usingConfig() throws Exception {
-		JsonSchemaGeneratorSession s = JsonSchemaGenerator.DEFAULT.builder().applyAnnotations(A1a.class).build().createSession();
+		JsonSchemaGeneratorSession s = JsonSchemaGenerator.DEFAULT.builder().applyAnnotations(A1aConfig.class).build().createSession();
 		assertObject(s.getSchema(A1a.class)).json().is("{description:'baz',format:'bar',type:'foo','x-example':'{f1:123}',properties:{f1:{type:'integer',format:'int32'}}}");
 	}
 
-	@JsonSchemaConfig(applySchema=@Schema(on="A1a",type="foo",format="bar",description="baz",example="{f1:123}"))
+	@Schema(on="Dummy1",type="foo",format="bar",description="baz",example="{f1:123}")
+	@Schema(on="A1a",type="foo",format="bar",description="baz",example="{f1:123}")
+	@Schema(on="Dummy2",type="foo",format="bar",description="baz",example="{f1:123}")
+	private static class A1aConfig {}
+
 	public static class A1a {
 		public int f1;
 	}
@@ -1418,11 +1422,13 @@ public class JsonSchemaGeneratorTest {
 
 	@Test
 	public void jsonSchema_onbeanfield_usingConfig() throws Exception {
-		JsonSchemaGeneratorSession s = JsonSchemaGenerator.DEFAULT.builder().applyAnnotations(A2a.class).build().createSession();
+		JsonSchemaGeneratorSession s = JsonSchemaGenerator.DEFAULT.builder().applyAnnotations(A2aConfig.class).build().createSession();
 		assertObject(s.getSchema(A2a.class)).json().is("{type:'object',properties:{f1:{description:'baz',format:'bar',type:'foo','x-example':'123'}}}");
 	}
 
-	@JsonSchemaConfig(applySchema=@Schema(on="A2a.f1",type="foo",format="bar",description="baz",example="123"))
+	@Schema(on="A2a.f1",type="foo",format="bar",description="baz",example="123")
+	private static class A2aConfig {}
+
 	public static class A2a {
 		public int f1;
 	}
@@ -1442,11 +1448,13 @@ public class JsonSchemaGeneratorTest {
 
 	@Test
 	public void jsonSchema_onbeangetter_usingConfig() throws Exception {
-		JsonSchemaGeneratorSession s = JsonSchemaGenerator.DEFAULT.builder().applyAnnotations(A3a.class).build().createSession();
+		JsonSchemaGeneratorSession s = JsonSchemaGenerator.DEFAULT.builder().applyAnnotations(A3aConfig.class).build().createSession();
 		assertObject(s.getSchema(A3a.class)).json().is("{type:'object',properties:{f1:{description:'baz',format:'bar',type:'foo','x-example':'123'}}}");
 	}
 
-	@JsonSchemaConfig(applySchema=@Schema(on="A3a.getF1",type="foo",format="bar",description="baz",example="123"))
+	@Schema(on="A3a.getF1",type="foo",format="bar",description="baz",example="123")
+	private static class A3aConfig {}
+
 	public static class A3a {
 		public int getF1() {
 			return 123;
@@ -1470,11 +1478,13 @@ public class JsonSchemaGeneratorTest {
 
 	@Test
 	public void jsonSchema_onbeansetter_usingConfig() throws Exception {
-		JsonSchemaGeneratorSession s = JsonSchemaGenerator.DEFAULT.builder().applyAnnotations(A4a.class).build().createSession();
+		JsonSchemaGeneratorSession s = JsonSchemaGenerator.DEFAULT.builder().applyAnnotations(A4aConfig.class).build().createSession();
 		assertObject(s.getSchema(A4a.class)).json().is("{type:'object',properties:{f1:{description:'baz',format:'bar',type:'foo','x-example':'123'}}}");
 	}
 
-	@JsonSchemaConfig(applySchema=@Schema(on="A4a.setF1",type="foo",format="bar",description="baz",example="123"))
+	@Schema(on="A4a.setF1",type="foo",format="bar",description="baz",example="123")
+	private static class A4aConfig {}
+
 	public static class A4a {
 		public int getF1() {
 			return 123;
@@ -1502,7 +1512,7 @@ public class JsonSchemaGeneratorTest {
 
 	@Test
 	public void jsonschema_onpojoswap_usingConfig() throws Exception {
-		JsonSchemaGeneratorSession s = JsonSchemaGenerator.DEFAULT.builder().applyAnnotations(SwapWithAnnotation2.class)
+		JsonSchemaGeneratorSession s = JsonSchemaGenerator.DEFAULT.builder().applyAnnotations(SwapWithAnnotation2Config.class)
 			.swaps(SwapWithAnnotation2.class)
 			.build().createSession();
 		assertObject(s.getSchema(SimpleBean.class)).json().is("{description:'baz',format:'bar',type:'foo','x-example':'123'}");
@@ -1510,7 +1520,9 @@ public class JsonSchemaGeneratorTest {
 		assertObject(s.getSchema(SimpleBean[][].class)).json().is("{type:'array',items:{type:'array',items:{description:'baz',format:'bar',type:'foo','x-example':'123'}}}");
 	}
 
-	@JsonSchemaConfig(applySchema=@Schema(on="SwapWithAnnotation2", type="foo",format="bar",description="baz",example="123"))
+	@Schema(on="SwapWithAnnotation2", type="foo",format="bar",description="baz",example="123")
+	private static class SwapWithAnnotation2Config {}
+
 	public static class SwapWithAnnotation2 extends PojoSwap<SimpleBean,Integer> {}
 
 	//====================================================================================================
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/testutils/pojos/XBeans.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/testutils/pojos/XBeans.java
index 9fbbfde..d4db720 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/testutils/pojos/XBeans.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/testutils/pojos/XBeans.java
@@ -142,7 +142,7 @@ public class XBeans {
 
 
 	@Bean(on="XD,XE,XF",sort=true)
-	@UrlEncodingConfig(applyUrlEncoding={@UrlEncoding(on="C",expandedParams=true)})
+	@UrlEncoding(on="C",expandedParams=true)
 	public static class Annotations {}
 
 	public static class XD {
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/urlencoding/DTOs2.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/urlencoding/DTOs2.java
index 04b2170..5cd44a1 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/urlencoding/DTOs2.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/urlencoding/DTOs2.java
@@ -23,7 +23,9 @@ public class DTOs2 {
 	@Bean(on="Dummy1",sort=true)
 	@Bean(on="A,B,C",sort=true)
 	@Bean(on="Dummy2",sort=true)
-	@UrlEncodingConfig(applyUrlEncoding={@UrlEncoding(on="C",expandedParams=true)})
+	@UrlEncoding(on="Dummy1",expandedParams=true)
+	@UrlEncoding(on="C",expandedParams=true)
+	@UrlEncoding(on="Dummy2",expandedParams=true)
 	public static class Annotations {}
 
 	public static class A {
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/Rdf.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
index f56f3e1..be02d3b 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
@@ -17,6 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.jena.*;
 
@@ -77,7 +78,7 @@ public @interface Rdf {
 	 * Dynamically apply this annotation to the specified classes/methods/fields.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link RdfConfig#applyRdf()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class/method/field.
 	 * It is ignored when the annotation is applied directly to classes/methods/fields.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfig.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfig.java
index 30a305c..55edcfa 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfig.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfig.java
@@ -49,19 +49,6 @@ public @interface RdfConfig {
 	//-------------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Dynamically applies {@link Rdf @Rdf} annotations to specified classes/methods/fields.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link Rdf#on() @Rdf.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	Rdf[] applyRdf() default {};
-
-	/**
 	 * Configuration property:  RDF language.
 	 *
 	 * <p>
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfigAnnotation.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfigAnnotation.java
index c4ff869..68188df 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfigAnnotation.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfigAnnotation.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.jena.annotation;
 
-import static org.apache.juneau.BeanContext.*;
 import static org.apache.juneau.jena.RdfCommon.*;
 import static org.apache.juneau.jena.RdfParser.*;
 import static org.apache.juneau.jena.RdfSerializer.*;
@@ -114,9 +113,6 @@ public class RdfConfigAnnotation {
 
 			if (! a.trimWhitespace().isEmpty())
 				psb.set(RDF_trimWhitespace, bool(a.trimWhitespace()));
-
-			if (a.applyRdf().length > 0)
-				psb.prependTo(BEAN_annotations, a.applyRdf());
 		}
 	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
index 0144c71..6315698 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
@@ -213,6 +213,36 @@ public @interface Bean {
 	/**
 	 * Dynamically apply this annotation to the specified classes.
 	 *
+	 * <p>
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class.
+	 * It is ignored when the annotation is applied directly to classes.
+	 *
+	 * <h5 class='section'>Valid patterns:</h5>
+	 * <ul class='spaced-list'>
+	 *  <li>Classes:
+	 * 		<ul>
+	 * 			<li>Fully qualified:
+	 * 				<ul>
+	 * 					<li><js>"com.foo.MyClass"</js>
+	 * 				</ul>
+	 * 			<li>Fully qualified inner class:
+	 * 				<ul>
+	 * 					<li><js>"com.foo.MyClass$Inner1$Inner2"</js>
+	 * 				</ul>
+	 * 			<li>Simple:
+	 * 				<ul>
+	 * 					<li><js>"MyClass"</js>
+	 * 				</ul>
+	 * 			<li>Simple inner:
+	 * 				<ul>
+	 * 					<li><js>"MyClass$Inner1$Inner2"</js>
+	 * 					<li><js>"Inner1$Inner2"</js>
+	 * 					<li><js>"Inner2"</js>
+	 * 				</ul>
+	 * 		</ul>
+	 * 	<li>A comma-delimited list of anything on this list.
+	 * </ul>
+	 *
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
 	 * </ul>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/Csv.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/Csv.java
index ce46613..e1039ef 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/Csv.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/Csv.java
@@ -17,6 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.csv.*;
 
@@ -45,7 +46,7 @@ public @interface Csv {
 	 * Dynamically apply this annotation to the specified classes/methods/fields.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link CsvConfig#applyCsv()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class/method/field.
 	 * It is ignored when the annotation is applied directly to classes/methods/fields.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfig.java
index 7b401c0..8cf52d4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfig.java
@@ -45,19 +45,6 @@ public @interface CsvConfig {
 	// CsvCommon
 	//-------------------------------------------------------------------------------------------------------------------
 
-	/**
-	 * Dynamically applies {@link Csv @Csv} annotations to specified classes/methods/fields.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link Csv#on() @Csv.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	Csv[] applyCsv() default {};
-
 	//-------------------------------------------------------------------------------------------------------------------
 	// CsvSerializer
 	//-------------------------------------------------------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfigAnnotation.java
index 39da8b8..94d1a85 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfigAnnotation.java
@@ -12,8 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.csv.annotation;
 
-import static org.apache.juneau.BeanContext.*;
-
 import org.apache.juneau.*;
 import org.apache.juneau.reflect.*;
 import org.apache.juneau.svl.*;
@@ -40,10 +38,6 @@ public class CsvConfigAnnotation {
 
 		@Override
 		public void apply(AnnotationInfo<CsvConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) {
-			CsvConfig a = ai.getAnnotation();
-
-			if (a.applyCsv().length > 0)
-				psb.prependTo(BEAN_annotations, a.applyCsv());
 		}
 	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/Html.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/Html.java
index 2a32f4a..5f23516 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/Html.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/Html.java
@@ -17,6 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.html.*;
 
@@ -116,7 +117,7 @@ public @interface Html {
 	 * Dynamically apply this annotation to the specified classes/methods/fields.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link HtmlConfig#applyHtml()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class/method/field.
 	 * It is ignored when the annotation is applied directly to classes/methods/fields.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfig.java
index 6805cbf..232d583 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfig.java
@@ -46,32 +46,6 @@ public @interface HtmlConfig {
 	// HtmlCommon
 	//-------------------------------------------------------------------------------------------------------------------
 
-	/**
-	 * Dynamically applies {@link Html @Html} annotations to specified classes/methods/fields.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link Html#on() @Html.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	Html[] applyHtml() default {};
-
-	/**
-	 * Dynamically applies {@link HtmlLink @HtmlLink} annotations to specified classes.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link HtmlLink#on() @HtmlLink.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	HtmlLink[] applyHtmlLink() default {};
-
 	//-------------------------------------------------------------------------------------------------------------------
 	// HtmlSerializer
 	//-------------------------------------------------------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigAnnotation.java
index 891a8ea..280a7e0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigAnnotation.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.html.annotation;
 
-import static org.apache.juneau.BeanContext.*;
 import static org.apache.juneau.html.HtmlSerializer.*;
 
 import org.apache.juneau.*;
@@ -54,11 +53,6 @@ public class HtmlConfigAnnotation {
 				psb.set(HTML_labelParameter, string(a.labelParameter()));
 			if (! a.uriAnchorText().isEmpty())
 				psb.set(HTML_uriAnchorText, string(a.uriAnchorText()));
-
-			if (a.applyHtml().length > 0)
-				psb.prependTo(BEAN_annotations, a.applyHtml());
-			if (a.applyHtmlLink().length > 0)
-				psb.prependTo(BEAN_annotations, a.applyHtmlLink());
 		}
 	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLink.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLink.java
index 8d19be0..9e9d68e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLink.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLink.java
@@ -17,6 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.html.*;
 
@@ -57,7 +58,7 @@ public @interface HtmlLink {
 	 * Dynamically apply this annotation to the specified classes.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link HtmlConfig#applyHtmlLink()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class.
 	 * It is ignored when the annotation is applied directly to classes.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/Jso.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/Jso.java
index 69663ca..4a48c99 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/Jso.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/Jso.java
@@ -17,6 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.jso.*;
 
@@ -45,7 +46,7 @@ public @interface Jso {
 	 * Dynamically apply this annotation to the specified classes/methods/fields.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link JsoConfig#applyJso()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class/method/field.
 	 * It is ignored when the annotation is applied directly to classes/methods/fields.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/JsoConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/JsoConfig.java
index d42e4d9..e57e18a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/JsoConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/JsoConfig.java
@@ -45,19 +45,6 @@ public @interface JsoConfig {
 	// JsoCommon
 	//-------------------------------------------------------------------------------------------------------------------
 
-	/**
-	 * Dynamically applies {@link Jso @Jso} annotations to specified classes/methods/fields.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link Jso#on() @Jso.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	Jso[] applyJso() default {};
-
 	//-------------------------------------------------------------------------------------------------------------------
 	// JsoSerializer
 	//-------------------------------------------------------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/JsoConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/JsoConfigAnnotation.java
index ae6db69..3bb4a8b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/JsoConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/annotation/JsoConfigAnnotation.java
@@ -12,8 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.jso.annotation;
 
-import static org.apache.juneau.BeanContext.*;
-
 import org.apache.juneau.*;
 import org.apache.juneau.reflect.*;
 import org.apache.juneau.svl.*;
@@ -40,10 +38,6 @@ public class JsoConfigAnnotation {
 
 		@Override
 		public void apply(AnnotationInfo<JsoConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) {
-			JsoConfig a = ai.getAnnotation();
-
-			if (a.applyJso().length > 0)
-				psb.prependTo(BEAN_annotations, a.applyJso());
 		}
 	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
index 5b7b895..2e8fecb 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
@@ -17,6 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 
 /**
@@ -48,7 +49,7 @@ public @interface Json {
 	 * Dynamically apply this annotation to the specified classes/methods/fields.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link JsonConfig#applyJson()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class/method/field.
 	 * It is ignored when the annotation is applied directly to classes/methods/fields.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfig.java
index cce086b..9a1e90b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfig.java
@@ -46,19 +46,6 @@ public @interface JsonConfig {
 	// JsonCommon
 	//-------------------------------------------------------------------------------------------------------------------
 
-	/**
-	 * Dynamically applies {@link Json @Json} annotations to specified classes.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link Json#on() @Json.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	Json[] applyJson() default {};
-
 	//-------------------------------------------------------------------------------------------------------------------
 	// JsonParser
 	//-------------------------------------------------------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfigAnnotation.java
index 6a7ebcf..11aa5d7 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfigAnnotation.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.json.annotation;
 
-import static org.apache.juneau.BeanContext.*;
 import static org.apache.juneau.json.JsonParser.*;
 import static org.apache.juneau.json.JsonSerializer.*;
 
@@ -52,9 +51,6 @@ public class JsonConfigAnnotation {
 
 			if (! a.validateEnd().isEmpty())
 				psb.set(JSON_validateEnd, bool(a.validateEnd()));
-
-			if (a.applyJson().length > 0)
-				psb.prependTo(BEAN_annotations, a.applyJson());
 		}
 	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
index 894cc1a..3560770 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
@@ -164,19 +164,6 @@ public @interface JsonSchemaConfig {
 	String allowNestedExamples() default "";
 
 	/**
-	 * Dynamically applies {@link Schema @Schema} annotations to specified classes/methods/fields.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link Schema#on() @Schema.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	Schema[] applySchema() default {};
-
-	/**
 	 * Configuration property:  Bean schema definition mapper.
 	 *
 	 * <p>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigAnnotation.java
index 900b413..bfc51e6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfigAnnotation.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.jsonschema.annotation;
 
-import static org.apache.juneau.BeanContext.*;
 import static org.apache.juneau.jsonschema.JsonSchemaGenerator.*;
 
 import org.apache.juneau.*;
@@ -57,9 +56,6 @@ public class JsonSchemaConfigAnnotation {
 				psb.set(JSONSCHEMA_ignoreTypes, string(a.ignoreTypes()));
 			if (! a.useBeanDefs().isEmpty())
 				psb.set(JSONSCHEMA_useBeanDefs, bool(a.useBeanDefs()));
-
-			if (a.applySchema().length > 0)
-				psb.prependTo(BEAN_annotations, a.applySchema());
 		}
 	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/Schema.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/Schema.java
index 2863e68..dfc2a71 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/Schema.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/Schema.java
@@ -16,6 +16,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.http.annotation.*;
 import org.apache.juneau.oapi.*;
@@ -581,7 +582,7 @@ public @interface Schema {
 	 * Dynamically apply this annotation to the specified classes/methods/fields.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link JsonSchemaConfig#applySchema()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class/method/field.
 	 * It is ignored when the annotation is applied directly to classes/methods/fields.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPack.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPack.java
index 347e394..a14b8da 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPack.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPack.java
@@ -17,6 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.msgpack.*;
 
@@ -45,7 +46,7 @@ public @interface MsgPack {
 	 * Dynamically apply this annotation to the specified classes/methods/fields.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link MsgPackConfig#applyMsgPack()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class/method/field.
 	 * It is ignored when the annotation is applied directly to classes/methods/fields.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfig.java
index c9f2ab7..d2dc4dd 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfig.java
@@ -46,19 +46,6 @@ public @interface MsgPackConfig {
 	// MsgPackCommon
 	//-------------------------------------------------------------------------------------------------------------------
 
-	/**
-	 * Dynamically applies {@link MsgPack @MsgPack} annotations to specified classes/methods/fields.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link MsgPack#on() @MsgPack.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	MsgPack[] applyMsgPack() default {};
-
 	//-------------------------------------------------------------------------------------------------------------------
 	// MsgPackSerializer
 	//-------------------------------------------------------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfigAnnotation.java
index 5c42fd6..bc54d3c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfigAnnotation.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.msgpack.annotation;
 
-import static org.apache.juneau.BeanContext.*;
 import static org.apache.juneau.msgpack.MsgPackSerializer.*;
 
 import org.apache.juneau.*;
@@ -45,9 +44,6 @@ public class MsgPackConfigAnnotation {
 
 			if (! a.addBeanTypes().isEmpty())
 				psb.set(MSGPACK_addBeanTypes, bool(a.addBeanTypes()));
-
-			if (a.applyMsgPack().length > 0)
-				psb.prependTo(BEAN_annotations, a.applyMsgPack());
 		}
 	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApi.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApi.java
index 394d9e6..5e59cee 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApi.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApi.java
@@ -17,6 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.oapi.*;
 
@@ -45,7 +46,7 @@ public @interface OpenApi {
 	 * Dynamically apply this annotation to the specified classes/methods/fields.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link OpenApiConfig#applyOpenApi()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class/method/field.
 	 * It is ignored when the annotation is applied directly to classes/methods/fields.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfig.java
index a21f970..31d611f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfig.java
@@ -47,19 +47,6 @@ public @interface OpenApiConfig {
 	//-------------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Dynamically applies {@link OpenApi @OpenApi} annotations to specified classes/methods/fields.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link OpenApi#on() @OpenApi.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	OpenApi[] applyOpenApi() default {};
-
-	/**
 	 * Default format for HTTP parts.
 	 *
 	 * <p>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfigAnnotation.java
index 5cec8b6..bf51a95 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfigAnnotation.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.oapi.annotation;
 
-import static org.apache.juneau.BeanContext.*;
 import static org.apache.juneau.oapi.OpenApiCommon.*;
 
 import org.apache.juneau.*;
@@ -43,8 +42,6 @@ public class OpenApiConfigAnnotation {
 		public void apply(AnnotationInfo<OpenApiConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) {
 			OpenApiConfig a = ai.getAnnotation();
 
-			if (a.applyOpenApi().length > 0)
-				psb.prependTo(BEAN_annotations, a.applyOpenApi());
 			if (! a.format().isEmpty())
 				psb.set(OAPI_format, string(a.format()));
 			if (! a.collectionFormat().isEmpty())
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainText.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainText.java
index d10251f..b7a8876 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainText.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainText.java
@@ -17,6 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.plaintext.*;
 
@@ -45,7 +46,7 @@ public @interface PlainText {
 	 * Dynamically apply this annotation to the specified classes/methods/fields.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link PlainTextConfig#applyPlainText()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class/method/field.
 	 * It is ignored when the annotation is applied directly to classes/methods/fields.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextConfig.java
index 5d80c1f..c3c2d11 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextConfig.java
@@ -45,19 +45,6 @@ public @interface PlainTextConfig {
 	// PlainTextCommon
 	//-------------------------------------------------------------------------------------------------------------------
 
-	/**
-	 * Dynamically applies {@link PlainText @PlainText} annotations to specified classes/methods/fields.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link PlainText#on() @PlainText.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	PlainText[] applyPlainText() default {};
-
 	//-------------------------------------------------------------------------------------------------------------------
 	// PlainTextSerializer
 	//-------------------------------------------------------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextConfigAnnotation.java
index 421076c..5f2bff9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextConfigAnnotation.java
@@ -12,8 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.plaintext.annotation;
 
-import static org.apache.juneau.BeanContext.*;
-
 import org.apache.juneau.*;
 import org.apache.juneau.reflect.*;
 import org.apache.juneau.svl.*;
@@ -40,10 +38,6 @@ public class PlainTextConfigAnnotation {
 
 		@Override
 		public void apply(AnnotationInfo<PlainTextConfig> ai, PropertyStoreBuilder psb, VarResolverSession vr) {
-			PlainTextConfig a = ai.getAnnotation();
-
-			if (a.applyPlainText().length > 0)
-				psb.prependTo(BEAN_annotations, a.applyPlainText());
 		}
 	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXml.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXml.java
index f14a2a9..06ffa8e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXml.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXml.java
@@ -17,6 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.soap.*;
 
@@ -45,7 +46,7 @@ public @interface SoapXml {
 	 * Dynamically apply this annotation to the specified classes/methods/fields.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link SoapXmlConfig#applySoapXml()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class/method/field.
 	 * It is ignored when the annotation is applied directly to classes/methods/fields.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfig.java
index a19a5d7..af800d0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfig.java
@@ -45,19 +45,6 @@ public @interface SoapXmlConfig {
 	// SoapXmlCommon
 	//-------------------------------------------------------------------------------------------------------------------
 
-	/**
-	 * Dynamically applies {@link SoapXml @SoapXml} annotations to specified classes/methods/fields.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link SoapXml#on() @SoapXml.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	SoapXml[] applySoapXml() default {};
-
 	//-------------------------------------------------------------------------------------------------------------------
 	// SoapXmlSerializer
 	//-------------------------------------------------------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfigAnnotation.java
index aa095ce..d440cec 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlConfigAnnotation.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.soap.annotation;
 
-import static org.apache.juneau.BeanContext.*;
 import static org.apache.juneau.soap.SoapXmlSerializer.*;
 
 import org.apache.juneau.*;
@@ -45,9 +44,6 @@ public class SoapXmlConfigAnnotation {
 
 			if (! a.soapAction().isEmpty())
 				psb.set(SOAPXML_SOAPAction, string(a.soapAction()));
-
-			if (a.applySoapXml().length > 0)
-				psb.prependTo(BEAN_annotations, a.applySoapXml());
 		}
 	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/Uon.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/Uon.java
index 74a6323..dc29187 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/Uon.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/Uon.java
@@ -17,6 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.uon.*;
 
@@ -45,7 +46,7 @@ public @interface Uon {
 	 * Dynamically apply this annotation to the specified classes/methods/fields.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link UonConfig#applyUon()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class/method/field.
 	 * It is ignored when the annotation is applied directly to classes/methods/fields.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfig.java
index ad9bf05..c13ae5a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfig.java
@@ -47,19 +47,6 @@ public @interface UonConfig {
 	// UonCommon
 	//-------------------------------------------------------------------------------------------------------------------
 
-	/**
-	 * Dynamically applies {@link Uon @Uon} annotations to specified classes/methods/fields.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link Uon#on() @Uon.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	Uon[] applyUon() default {};
-
 	//-------------------------------------------------------------------------------------------------------------------
 	// UonParser
 	//-------------------------------------------------------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfigAnnotation.java
index 84a1966..2aaa7d1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfigAnnotation.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.uon.annotation;
 
-import static org.apache.juneau.BeanContext.*;
 import static org.apache.juneau.uon.UonParser.*;
 import static org.apache.juneau.uon.UonSerializer.*;
 
@@ -54,9 +53,6 @@ public class UonConfigAnnotation {
 				psb.set(UON_decoding, bool(a.decoding()));
 			if (! a.validateEnd().isEmpty())
 				psb.set(UON_validateEnd, bool(a.validateEnd()));
-
-			if (a.applyUon().length > 0)
-				psb.prependTo(BEAN_annotations, a.applyUon());
 		}
 	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncoding.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncoding.java
index 6f335f3..edb6b36 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncoding.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncoding.java
@@ -17,6 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.urlencoding.*;
 
@@ -52,7 +53,7 @@ public @interface UrlEncoding {
 	 * Dynamically apply this annotation to the specified classes/methods/fields.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link UrlEncodingConfig#applyUrlEncoding()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class/method/field.
 	 * It is ignored when the annotation is applied directly to classes/methods/fields.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfig.java
index ba8a2e6..84a3250 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfig.java
@@ -45,19 +45,6 @@ public @interface UrlEncodingConfig {
 	// UrlEncodingCommon
 	//-------------------------------------------------------------------------------------------------------------------
 
-	/**
-	 * Dynamically applies {@link UrlEncoding @UrlEncoding} annotations to specified classes/methods/fields.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link UrlEncoding#on() @UrlEncoding.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	UrlEncoding[] applyUrlEncoding() default {};
-
 	//-------------------------------------------------------------------------------------------------------------------
 	// UrlEncodingSerializer
 	//-------------------------------------------------------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfigAnnotation.java
index 9e76cbd..981995f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfigAnnotation.java
@@ -12,8 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.urlencoding.annotation;
 
-import static org.apache.juneau.BeanContext.*;
-
 import org.apache.juneau.*;
 import org.apache.juneau.reflect.*;
 import org.apache.juneau.svl.*;
@@ -47,9 +45,6 @@ public class UrlEncodingConfigAnnotation {
 				psb.set(UrlEncodingSerializer.URLENC_expandedParams, bool(a.expandedParams()));
 				psb.set(UrlEncodingParser.URLENC_expandedParams, bool(a.expandedParams()));
 			}
-
-			if (a.applyUrlEncoding().length > 0)
-				psb.prependTo(BEAN_annotations, a.applyUrlEncoding());
 		}
 	}
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/Xml.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/Xml.java
index 3ec924b..a533575 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/Xml.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/Xml.java
@@ -17,6 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 
 /**
@@ -145,7 +146,7 @@ public @interface Xml {
 	 * Dynamically apply this annotation to the specified classes/methods/fields.
 	 *
 	 * <p>
-	 * Used in conjunction with the {@link XmlConfig#applyXml()}.
+	 * Used in conjunction with {@link BeanContextBuilder#applyAnnotations(Class...)} to dynamically apply an annotation to an existing class/method/field.
 	 * It is ignored when the annotation is applied directly to classes/methods/fields.
 	 *
 	 * <h5 class='section'>Valid patterns:</h5>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfig.java
index 97d25bb..c556abe 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfig.java
@@ -50,19 +50,6 @@ public @interface XmlConfig {
 	// XmlCommon
 	//-------------------------------------------------------------------------------------------------------------------
 
-	/**
-	 * Dynamically applies {@link Xml @Xml} annotations to specified classes/methods/fields.
-	 *
-	 * <p>
-	 * Provides an alternate approach for applying annotations using {@link Xml#on() @Xml.on} to specify the names
-	 * to apply the annotation to.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='link'>{@doc DynamicallyAppliedAnnotations}
-	 * </ul>
-	 */
-	Xml[] applyXml() default {};
-
 	//-------------------------------------------------------------------------------------------------------------------
 	// XmlParser
 	//-------------------------------------------------------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigAnnotation.java
index bce66fc..9e8545a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigAnnotation.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.xml.annotation;
 
-import static org.apache.juneau.BeanContext.*;
 import static org.apache.juneau.xml.XmlParser.*;
 import static org.apache.juneau.xml.XmlSerializer.*;
 
@@ -67,9 +66,6 @@ public class XmlConfigAnnotation {
 				psb.set(XML_resolver, a.resolver());
 			if (! a.validating().isEmpty())
 				psb.set(XML_validating, bool(a.validating()));
-
-			if (a.applyXml().length > 0)
-				psb.prependTo(BEAN_annotations, a.applyXml());
 		}
 	}
 }
\ No newline at end of file
diff --git a/juneau-doc/docs/ReleaseNotes/9.0.0.html b/juneau-doc/docs/ReleaseNotes/9.0.0.html
index e38f3e8..e4dcaed 100644
--- a/juneau-doc/docs/ReleaseNotes/9.0.0.html
+++ b/juneau-doc/docs/ReleaseNotes/9.0.0.html
@@ -25,6 +25,21 @@ Juneau 9.0.0 is a major release.
 		New {@link aoj.annotation.Marshalled @Marshalled} annotation for non-bean classes.
 	<li>
 		New {@link aoj.annotation.Bean#example() @Bean(example)} annotation.
+	<li>
+		Eliminated the various <c><ja>@XConfig</ja>(applyX={...})</c> annotations and replaced them with the ability
+		to apply targeted annotations directly to configuration classes and methods (such as REST classes/methods).
+		<p class='bpcode w800'>
+	<ja>@Rest</ja>(...)
+	<ja>@Bean</ja>(on=<js>"MyBean1,MyBean2"</js>,sort=<jk>true</jk>)
+	<ja>@UrlEncoding</ja>(onClass=MyList.<jk>class</jk>,expandedParams=<jk>true</jk>)
+	<jk>public class</jk> MyRestClass {
+		
+		<ja>@RestMethod</ja>(...)
+		<ja>@Bean</ja>(on=<js>"MyBean1,MyBean2"</js>,sort=<jk>false</jk>)
+		<ja>@UrlEncoding</ja>(onClass=MyList.<jk>class</jk>,expandedParams=<jk>false</jk>)
+		<jk>public</jk> Object myRestMethod() { ... }
+	}
+		</p>
 </ul>
 
 <h5 class='topic w800'>juneau-rest-server</h5>
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/Body_Test.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/Body_Test.java
index 506e4b7..21e6fd7 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/Body_Test.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/annotation/Body_Test.java
@@ -32,7 +32,6 @@ import org.apache.juneau.rest.mock.*;
 import org.apache.juneau.testutils.pojos.*;
 import org.apache.juneau.uon.*;
 import org.apache.juneau.urlencoding.*;
-import org.apache.juneau.urlencoding.annotation.*;
 import org.apache.juneau.urlencoding.annotation.UrlEncoding;
 import org.junit.*;
 
@@ -687,7 +686,7 @@ public class Body_Test {
 
 	@Rest(serializers=SimpleJsonSerializer.class, parsers=JsonParser.class, defaultAccept="application/json")
 	@Bean(on="A,B,C",sort=true)
-	@UrlEncodingConfig(applyUrlEncoding={@UrlEncoding(on="C",expandedParams=true)})
+	@UrlEncoding(on="C",expandedParams=true)
 	public static class E2 {
 		@RestMethod(name=PUT, path="/B")
 		public XBeans.XE a(@Body XBeans.XE b) {
@@ -854,7 +853,7 @@ public class Body_Test {
 
 	@Rest(serializers=UrlEncodingSerializer.class,parsers=UrlEncodingParser.class)
 	@Bean(on="A,B,C",sort=true)
-	@UrlEncodingConfig(applyUrlEncoding={@UrlEncoding(on="C",expandedParams=true)})
+	@UrlEncoding(on="C",expandedParams=true)
 	public static class H2 {
 		@RestMethod(name=POST,path="/",
 			properties={
@@ -908,7 +907,7 @@ public class Body_Test {
 		}
 		@RestMethod(name=POST)
 		@Bean(on="A,B,C",sort=true)
-		@UrlEncodingConfig(applyUrlEncoding={@UrlEncoding(on="C",expandedParams=true)})
+		@UrlEncoding(on="C",expandedParams=true)
 		public XBeans.XE b(@Body(r=true) XBeans.XE content) throws Exception {
 			return content;
 		}