Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
PradaDIMXLIII
Restaurante Casa Porras
Commits
6a5f1c7f
Commit
6a5f1c7f
authored
4 years ago
by
agarca4
Browse files
Options
Download
Email Patches
Plain Diff
clase 7, Propiedades y @Value
parent
dc0fb965
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
227 additions
and
63 deletions
+227
-63
src/main/java/es/mde/ConfiguracionPorJava.java
src/main/java/es/mde/ConfiguracionPorJava.java
+17
-13
src/main/java/es/mde/RestauranteCasaPorrasApplication.java
src/main/java/es/mde/RestauranteCasaPorrasApplication.java
+6
-26
src/main/java/es/mde/Test.java
src/main/java/es/mde/Test.java
+0
-23
src/main/java/es/mde/restaurante/entidades/Carne.java
src/main/java/es/mde/restaurante/entidades/Carne.java
+47
-0
src/main/java/es/mde/restaurante/entidades/Comida.java
src/main/java/es/mde/restaurante/entidades/Comida.java
+30
-0
src/main/java/es/mde/restaurante/entidades/Marisco.java
src/main/java/es/mde/restaurante/entidades/Marisco.java
+47
-0
src/main/java/es/mde/restaurante/entidades/Pedido.java
src/main/java/es/mde/restaurante/entidades/Pedido.java
+71
-0
src/main/java/es/mde/restaurante/entidades/TipoCarne.java
src/main/java/es/mde/restaurante/entidades/TipoCarne.java
+7
-0
src/main/resources/application.properties
src/main/resources/application.properties
+2
-1
No files found.
src/main/java/es/mde/ConfiguracionPorJava.java
View file @
6a5f1c7f
package
es.mde
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
es.mde.restaurante.entidades.Pedido
;
@Configuration
public
class
ConfiguracionPorJava
{
/*
* Lo primero que hay q tener claro es que el @Value solo funciona con los
* beans, si haces un new de una clase, eso no es un bean y va a sacar un null
* en la propiedad
*/
@Bean
(
"config"
)
public
Test
beanPorConfiguracion
()
{
Test
test
=
new
Test
()
{
int
llamadas
=
0
;
// puedo usar @value en un campo, para luego usar su valor donde quiera
@Value
(
"${restaurante-casa-porras.idioma}"
)
String
idiomaPedido
;
@Override
public
void
init
()
{
System
.
out
.
printf
(
"Me han llamado %s veces"
,
++
llamadas
);
System
.
out
.
println
();
}
// también puedo usar @Value en el constructor de un bean
@Bean
public
Pedido
getPedido
(
@Value
(
"${restaurante-casa-porras.pedidoMinimo}"
)
Double
pedidoMinimo
)
{
Pedido
pedido
=
new
Pedido
();
pedido
.
setPedidoMinimo
(
pedidoMinimo
);
pedido
.
setIdioma
(
idiomaPedido
);
return
pedido
;
};
test
.
init
();
return
test
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/es/mde/RestauranteCasaPorrasApplication.java
View file @
6a5f1c7f
...
...
@@ -2,42 +2,22 @@ package es.mde;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ConfigurableApplicationContext
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.context.annotation.ImportResource
;
import
org.springframework.context.support.ClassPathXmlApplicationContext
;
import
es.mde.restaurante.entidades.Pedido
;
@SpringBootApplication
//aquí meto mi bean de xml
//@ImportResource({ "config.xml" })
/*
* Con esta anotacion, le decimos que importe la configuracion de las clases
* indicadas. No es necesaria para que la escanee si está en el mismo paquete,
* pero sí si está fuera
*/
//@Import({ConfiguracionPorJava.class})
@Import
({
ConfiguracionPorJava
.
class
})
public
class
RestauranteCasaPorrasApplication
{
public
static
void
main
(
String
[]
args
)
{
ConfigurableApplicationContext
context
=
SpringApplication
.
run
(
RestauranteCasaPorrasApplication
.
class
,
args
);
/*
* SpringInitlz. Con SpringBoot ya no hace falta el config-scan.xml que usábamos
* para activar el escaneo de componentes. SpringBoot escanea ya por defecto a
* partir del paquete donde esta la clase con la anotacion. Si movemos la clase
* Test fuera a otro paquete, no la va detectar.Ojo con esto!
*/
Test
miTest
=
new
Test
();
miTest
=
context
.
getBean
(
"mde"
,
Test
.
class
);
miTest
.
init
();
miTest
=
context
.
getBean
(
"config"
,
Test
.
class
);
miTest
.
init
();
// context.close();
Pedido
beanPedido
=
context
.
getBean
(
Pedido
.
class
);
System
.
out
.
println
(
beanPedido
);
context
.
close
();
}
...
...
This diff is collapsed.
Click to expand it.
src/main/java/es/mde/Test.java
deleted
100644 → 0
View file @
dc0fb965
package
es.mde
;
import
org.springframework.stereotype.Component
;
@Component
(
"mde"
)
public
class
Test
{
private
String
testString
=
"Este es mi valor por defecto del paquete mde"
;
public
String
getTestString
()
{
return
testString
;
}
public
void
setTestString
(
String
testString
)
{
this
.
testString
=
testString
;
}
public
void
init
()
{
System
.
out
.
println
(
testString
);
}
}
This diff is collapsed.
Click to expand it.
src/main/java/es/mde/restaurante/entidades/Carne.java
0 → 100644
View file @
6a5f1c7f
package
es.mde.restaurante.entidades
;
public
class
Carne
extends
Comida
{
private
TipoCarne
tipoCarne
;
private
Double
gramosRacion
;
private
Double
caloriasRacion
;
public
Carne
(
String
nombreEnLaCarta
,
Double
precio
,
TipoCarne
tipoCarne
,
Double
gramosRacion
,
Double
caloriasRacion
)
{
super
(
nombreEnLaCarta
,
precio
);
this
.
tipoCarne
=
tipoCarne
;
this
.
gramosRacion
=
gramosRacion
;
this
.
caloriasRacion
=
caloriasRacion
;
}
public
TipoCarne
getTipoCarne
()
{
return
tipoCarne
;
}
public
void
setTipoCarne
(
TipoCarne
tipoCarne
)
{
this
.
tipoCarne
=
tipoCarne
;
}
public
Double
getGramosRacion
()
{
return
gramosRacion
;
}
public
void
setGramosRacion
(
Double
gramosRacion
)
{
this
.
gramosRacion
=
gramosRacion
;
}
public
Double
getCaloriasRacion
()
{
return
caloriasRacion
;
}
public
void
setCaloriasRacion
(
Double
caloriasRacion
)
{
this
.
caloriasRacion
=
caloriasRacion
;
}
@Override
public
String
toString
()
{
return
"Carne [tipoCarne="
+
tipoCarne
+
", gramosRacion="
+
gramosRacion
+
", caloriasRacion="
+
caloriasRacion
+
", getNombreEnLaCarta()="
+
getNombreEnLaCarta
()
+
", getPrecio()="
+
getPrecio
()
+
"]"
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/es/mde/restaurante/entidades/Comida.java
0 → 100644
View file @
6a5f1c7f
package
es.mde.restaurante.entidades
;
public
abstract
class
Comida
{
private
String
nombreEnLaCarta
;
private
Double
precioRacion
;
public
Comida
(
String
nombreEnLaCarta
,
Double
precio
)
{
super
();
this
.
nombreEnLaCarta
=
nombreEnLaCarta
;
this
.
precioRacion
=
precio
;
}
public
String
getNombreEnLaCarta
()
{
return
nombreEnLaCarta
;
}
public
void
setNombreEnLaCarta
(
String
nombreEnLaCarta
)
{
this
.
nombreEnLaCarta
=
nombreEnLaCarta
;
}
public
Double
getPrecio
()
{
return
precioRacion
;
}
public
void
setPrecio
(
Double
precio
)
{
this
.
precioRacion
=
precio
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/es/mde/restaurante/entidades/Marisco.java
0 → 100644
View file @
6a5f1c7f
package
es.mde.restaurante.entidades
;
import
java.time.LocalDateTime
;
public
class
Marisco
extends
Comida
{
private
String
tipoMarisco
;
private
String
origen
;
private
LocalDateTime
fechaCaptura
;
public
Marisco
(
String
nombreEnLaCarta
,
Double
precio
,
String
origen
,
LocalDateTime
fechaCaptura
)
{
super
(
nombreEnLaCarta
,
precio
);
this
.
origen
=
origen
;
this
.
fechaCaptura
=
fechaCaptura
;
}
public
String
getTipoMarisco
()
{
return
tipoMarisco
;
}
public
void
setTipoMarisco
(
String
tipoMarisco
)
{
this
.
tipoMarisco
=
tipoMarisco
;
}
public
String
getOrigen
()
{
return
origen
;
}
public
void
setOrigen
(
String
origen
)
{
this
.
origen
=
origen
;
}
public
LocalDateTime
getFechaCaptura
()
{
return
fechaCaptura
;
}
public
void
setFechaCaptura
(
LocalDateTime
fechaCaptura
)
{
this
.
fechaCaptura
=
fechaCaptura
;
}
@Override
public
String
toString
()
{
return
"Marisco [tipoMarisco="
+
tipoMarisco
+
", origen="
+
origen
+
", fechaCaptura="
+
fechaCaptura
+
", getNombreEnLaCarta()="
+
getNombreEnLaCarta
()
+
", getPrecio()="
+
getPrecio
()
+
"]"
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/es/mde/restaurante/entidades/Pedido.java
0 → 100644
View file @
6a5f1c7f
package
es.mde.restaurante.entidades
;
import
java.time.Instant
;
import
java.util.Collection
;
public
class
Pedido
{
private
Instant
fechaPedido
;
private
Collection
<
Comida
>
contenidoPedido
;
private
Double
importePedido
;
private
Double
pedidoMinimo
;
private
String
idioma
;
public
Pedido
()
{
super
();
}
public
Pedido
(
Collection
<
Comida
>
contenidoPedido
,
Double
importePedido
)
{
super
();
this
.
fechaPedido
=
Instant
.
now
();
this
.
contenidoPedido
=
contenidoPedido
;
this
.
importePedido
=
importePedido
;
}
public
Instant
getFechaPedido
()
{
return
fechaPedido
;
}
public
void
setFechaPedido
(
Instant
fechaPedido
)
{
this
.
fechaPedido
=
fechaPedido
;
}
public
Collection
<
Comida
>
getContenidoPedido
()
{
return
contenidoPedido
;
}
public
void
setContenidoPedido
(
Collection
<
Comida
>
contenidoPedido
)
{
this
.
contenidoPedido
=
contenidoPedido
;
}
public
Double
getImportePedido
()
{
return
importePedido
;
}
public
void
setImportePedido
(
Double
importePedido
)
{
this
.
importePedido
=
importePedido
;
}
public
Double
getPedidoMinimo
()
{
return
pedidoMinimo
;
}
public
void
setPedidoMinimo
(
Double
pedidoMinimo
)
{
this
.
pedidoMinimo
=
pedidoMinimo
;
}
public
String
getIdioma
()
{
return
idioma
;
}
public
void
setIdioma
(
String
idioma
)
{
this
.
idioma
=
idioma
;
}
@Override
public
String
toString
()
{
return
"Pedido [fechaPedido="
+
fechaPedido
+
", contenidoPedido="
+
contenidoPedido
+
", importePedido="
+
importePedido
+
", pedidoMinimo="
+
pedidoMinimo
+
", idioma="
+
idioma
+
"]"
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/es/mde/restaurante/entidades/TipoCarne.java
0 → 100644
View file @
6a5f1c7f
package
es.mde.restaurante.entidades
;
public
enum
TipoCarne
{
TERNERA_GALLEGA
,
CORDERO_LECHAL
,
CERDO_IBERICO
}
This diff is collapsed.
Click to expand it.
src/main/resources/application.properties
View file @
6a5f1c7f
restaurante-casa-porras.idioma
=
ingles
restaurante-casa-porras.pedidoMinimo
=
50.00
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment