Java - Convertir proyecto a spring

 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 23 puestos en Java (en relación al último mes)
Gráfica de Java

Convertir proyecto a spring

Publicado por Mauricio (2 intervenciones) el 23/03/2021 17:39:01
Hola compañeros. He desarrollado un aplicativo web para gestionar bodas por parte de los novios. En donde los invitados tienen dos opciones, dejar mensajes que se almacenan en una base de datos SQL y luego es volcada la tabla a una página .jsp o dejar fotos y luego en otra página .JSP se recuperan y se muestran como la galería de fotos de la boda. Es un proyecto de programación más que para salir a ofrecerla.

En este momento estoy convirtiendo el proyecto a spring, y tengo algunos vacíos en el desarrollo.

Describiendo un poco el código para no alargar tanto el post, se trata de dos objetos principales o beans...una es mensajes, el cual lleva dos parámetros, el mensaje y el autor. Lo mismo la foto, es un objeto con dos parámetros, el nombre de la foto y el autor. Actualmente tengo insertadas en el pom.xml las siguientes dependencias:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<dependencies>
  <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>5.3.5</version>
</dependency>
  <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.5</version>
</dependency>
  <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.3.5</version>
</dependency>
  <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.5</version>
</dependency>
  <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
  <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.23</version>
</dependency>
 
 
  </dependencies>

Tengo una interfaz con los métodos para crear fotos y obtener fotos de la BDD, así:

1
2
3
4
5
6
7
8
9
10
11
12
package com.boda.repository;
 
import java.util.ArrayList;
 
import com.boda.model.foto;
 
 
public interface FotosRepository {
 
	boolean insertarfoto(String foto, String autor);
	ArrayList<foto> obtenerFotos();
}

Tengo también la declaración de los métodos mencionados anteriormente en una clase que implementa la interfaz de arriba:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package com.boda.repository;
 
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
 
import com.boda.model.foto;
import utils.*;
 
@Repository
public class FotosRepositoryImp implements FotosRepository {
	@Autowired
 
 
 
 
	@Override
	public boolean insertarfoto(String foto, String autor) {
		boolean rpta=false;
        try{
        CallableStatement cl=Conexion.getConexion().prepareCall("{call include_foto(?,?)}");
        cl.setString(1, foto);
        cl.setString(2, autor);
        ResultSet rs= cl.executeQuery();
        rpta=true;
    }catch (Exception e){}
        return rpta;
    }
 
 
	@Override
	public ArrayList<foto> obtenerFotos() {
		ArrayList<foto> lista = new ArrayList<foto>();
        try{
        CallableStatement cl=Conexion.getConexion().prepareCall("{call obtener_fotos()}");
        ResultSet rs= cl.executeQuery();
        while(rs.next()){
            foto f= new foto(rs.getString(1), rs.getString(2));
            lista.add(f);
        }
 
    }catch (Exception e){}
     return lista;
	}
 
}

Y tengo la clase conexión, la cuál me encantaría manejar a través de un datasource...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package utils;
 
import java.sql.*;
 
 
public class Conexion {
 
 
    public static Connection getConexion(){
 
        Connection con=null;
 
        try{
 
            Class.forName("com.mysql.cj.jdbc.Driver");
            con=DriverManager.getConnection
                ("jdbc:mysql://localhost/mensajes?user=root&password=");
            System.out.println("Conexion satisfactoria");
        }catch(Exception e){
        System.out.println("Error: "+e);
               }
 
        return con;
 
 
    }
 
 
    public static void main(String[] args) {
 
        Conexion.getConexion();
 
    }
 
}

Qué más debo hacer para estructurar el código? Que me recomiendan?Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder