test y principal java + spring+ anotaciones

Hola :

Tengo una duda conceptual, lo primero tengo lo siguiente

Usuario.java
UsuarioDAO
ServicioUsuario

con sus respectivas interfaces, bueno he creado un test para servicioUsuario de la siguiente manera

@runWith(SpringJunit4ClassRunner.class)
@contextConfiguracion(Locations={"classpath:applicationContext-ibatis.xml"}

public class TestServicioUsuario{
//carglo los respectio @autowired que esta en el xml
....
..
@test
@transactional
pubic void testContext()
 assert.asertNotNull(applicationContext.getBean("servicioUsuario"){

}

public int insertar(){
 int keyUser=servicioUsuario.insertar(beanRegion);
 Assert.asserTrue("",key>0)
}
...
...

Al ejecutar el test todo indica bien , perfecto nay un solo error ahora mi duda es he querido hacer esto
, pero ahora haciendo desde un main de java como se hace para hacerlo desde un principal en java
utilizando la clase main carga todos los xml pero al ejectuar me tira java.lang. null point al ejecutar
el servicioUsuario. mi pricipal lo declare asi

package com.backend.inventarioinformatico.cliente;
import java.util.List;

import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.datasource.*;

public class Prin {

       
       
        public static void main(String[] args) throws ExcepcionDao {
                // TODO Auto-generated method stub
               
               
                ClassPathXmlApplicationContext ctx=new  ClassPathXmlApplicationContext("applicationContext.xml");
                ServicioUsuario servUsuario=(ServicioUsuario)ctx.getBean("servUsuario");
                Usuario usario=(Usuario)ctx.getBean("beanUsuario");
                System.out.print(servUsuario.insert(usuario));
               
        }

}

porque funciona con el test y no desde el principal???? que debo colocar en el principal para que funcione
porque en el main no funcionan las anotaciones??

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 ezamudio

contextos

En tus pruebas unitarias mencionas applicationContext-ibatis.xml pero en tu main mencionas applicationContext.xml (aunque supongo que ese código no es realmente el que ejecutas sino que lo volviste a teclear porque el print de insert(usuario) tronaría, ya que la variable se llama "usario").

El "beanUsuario" es una instancia de Usuario? por qué lo pones como administrado por Spring? lo declaraste como "prototype"? porque si no, solamente vas a tener un beanUsuario en toda la aplicación...

Y finalmente, si dices que te arroja una NPE... RTFS.

Imagen de benek

Elección del foro adecuado

Por favor lee las descripciones de los foros, estás publicando temas en el foro de "Comunidad", del cual su descripción es:

Discusiones relacionadas con la comunidad, reporte de fallos en el sitio o asuntos relacionados.

Este tema debe estar en la categoría "Java Standard Edition", o Java Enterprise cuando tu aplicación Java sea web.

Te recomiendo que cuando publiques código fuente Java lo encierres entre las etiquetas <code> y </code>, para que ordene el código, coloree la sintaxis y ponga enlaces a las clases de la API hacia su documentación. En esta ocasión lo haré por ti.

De paso no estaría mal que le dieras una leída a los lineamientos, si es que no lo has hecho aún.

Saludos.

Javier Ramírez Jr.

el bean esta declarado el

el bean esta declarado el appliactionContext-ibatis ese es el nombre y en el xml lo decrale asi

[code]

[/code]

y que es eso prototype???? gracias por la ayuda

y en servicioUsuario

y en servicioUsuario tengo

[code]
@Autowired
UsuarioDAO daoUsuario
[/code]

ejecutado el test todo esta

ejecutado el test todo esta bien realiza la inserccion y manda ok error 0 filures 0 run 2/2 porque no funciona en el main??

pense que podia ser el dao

pense que podia ser el dao que esta mal pero he llamado desde el principal al dao y si guarda!! datos en la base de datos
porque al llevarlo al servicio no guarda??

o es que debo desde el

o es que debo desde el servicio hacer un setdao y pasarlo por parametro???