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
@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
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??
- Inicie sesión o regístrese para enviar comentarios
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.
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:
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???