El uso de metodo main en ejemplos de Spring

Hola a todos, pos espero que esten bien, estoy empezando en esto de programar en java y para crear aplicaciones web con spring mvc
Pero hay cuestiones que no entiendo

Cuando se usa el metodo "main" en un ejemplo de aplicación en Spring es para una salida modo consola ?

Cuando usas las anotaciones de Spring entonces no es necesario el main ?

osea cuando se usa ClassPathXmlApplicationContext(”/applicationContext.xml”) el unico lugar donde veo que se puede usar esa clase es en el metodo main ?

le agradeceria que me sacaran de duda, por que algunas paginas hacen ejemplos sin main y otras con main

Muchas GrACIAS

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de JaimeItlzc

Servlets

Lee un poco sobre Servlets.
Básicamente el main es para aplicaciones de escritorio, y no para todas. Digamos que cuando se ejecuta una aplicación por consola es el método por defecto que se va a buscar para arrancar la aplicación.

En aplicaciones web la estructura es distinta.

Las anotaciones son un mecanismo para dotar a las clases de Meta información o auto información. Estas ya existían en versiones de java anteriores y de hecho se usaban, por ejemplo para generar el javaDoc (@Deprecated). Pero desde la versión 1.5 (Tiger! oh yeah) se han convertido en una parte Tipada del lenguaje y podemos trabajar con ellas tanto en tiempo de compilación como en tiempo de ejecución.

Anotar una porción de código nos sirve para procesarla de alguna manera en algún script, herramienta de despliegue o de diseño, para hacer uso de ellas en un framework, para trabajarlas distintas por un compilador…

Decía que las anotaciones se pueden trabajar en tiempo de ejecución. La forma de hacerlo sería usando el API de reflection, que se ha completado en Java 5 para tener acceso a las anotaciones.

Para distinguir las anotaciones, estas vienen precedidas siempre de una arroba (@ Toma!). Y se pueden clasificar en 3 tipos:

Marker annotations: Anotaciones que no reciben ningún parámetro. Marcan algún elemento. La única información que nos da esta anotación es que se tiene o no se tiene.
Normal annotations: Anotaciones que reciben argumentos en forma de pares nombreParametro=valorParametro
Single member annotations: Anotaciones que sólo tienen un miembro y este se llama value, no necesitan indicar el nombreParametro, solo el valorParametro.
Además estan las built in annnotations, es decir, las que ya forman parte del lenguaje, que en la versión java SE5 son 3:

Overrides: Indica que el método esta siendo sobreescrito, tenemos un error de compilación si el método no es sobreescrito. (Si nos equivocamos al teclearlo).
Deprecated: Indica que el método esta deprecado y no debería usarse y nos genera un warning en compilación.
SupressWarnings: Recibe una lista de argumentos y le indican al compilador que no muestre los warnings de los tipos pasados como argumento. (“all”,”checked”,”finally”).
Las anotaciones pueden a su vez estar anotadas, es decir, en la definición de una anotación podemos anotarlas usando meta-anotaciones.

Estas son:

Target: Indica sobre que elementos puede usarse la anotación. Recibe un array de argumentos y las posibilidades son: TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, ANNOTATION_TYPE, PACKAGE.
Retention: Indica el alcance de la anotación. Las posibilidades son:
SOURCE: La anotación sólo existe en el fuente, no en la clase compilada.
CLASS: Por defecto. La anotación existe en la clase pero la maquina virtual la ignora en ejecución.
RUNTIME: La máquina virtual tiene acceso a ella y es necesaria si queremos acceder reflexivamente a ella.
Inherited: Indica que la anotación la heredan las subclases.
Documented: Indica que las herramientas de documentacion tipo javaDoc tienen que documentarla.

Posdata Spring tiene sus anotaciones.
Saludos.

Creo que no me explique bien

Saludos gracias, no hice bien la pregunta
Cuando hablaba de main es de los ejemplos de de aplicaciones hechas con spring y las anotaciones también hablaba de spring

Spring mvc paso a paso:

Introducción a Spring Framework:
by SpringHispano.org

si observas eso dos links los dos explican como usar spring pero sus ejemplos son diferentes por que en uno usan el metodo main y el otro nop
gracias y Saludos

Imagen de JaimeItlzc

Spring

Creo ya te lo dije por que(De con main y sin main).
Solo que no lees bien y tambien creo no leeiste el link que te deje.
Y sobre las anotaciones tambien.

Ponle en google anotaciones Spring y listo.
No tiene que ver nada que uses anotaciones y que no lleve main.

Saludos.

Imagen de ezamudio

main

No es cosa de Spring. Cualquier programa de JSE necesita un punto de entrada y es el método estático main de alguna clase. En JEE hay distintos puntos de arranque segun el tipo de app.