Ok scusami , ma allora non va bene fare l'autowired di un oggetto repository in 
un service .
 

    Il Venerdì 16 Febbraio 2018 16:08, "Andrea Ligios [email protected] 
[it-torino-java-jug]" <[email protected]> ha scritto:
 

     Ciao, 

Stateless nel senso che essendo singleton non devono mantenere uno stato, non 
devono avere variabili.
@Stateless è la notazione Java EE per definire un EJB stateless non-singleton, 
non è quello che stai cercando.



2018-02-16 14:41 GMT+01:00 Danilo Boi [email protected] 
[it-torino-java-jug] <[email protected]>:

     Ciao Massimo .Grazie della risposta .Mi preocupa perchè mi domando : 
Quando ho piu chiamate  in contemporanea essendo oggetti Singhelton non rischio 
di restituire o eseguire operazioni su db Sbagliate ? una sorta di 
sovraposizione degli accessi a db.Per stateless intendi definire le mie cleassi 
services con @Stateless o anche i repository?Grazie mille ciao. 

    Il Venerdì 16 Febbraio 2018 13:27, "Massimo Ugues [email protected] 
[it-torino-java-jug]" <it-torino-java-jug@ yahoogroups.com> ha scritto:
 

     Ciao.Direi che l'approccio e' da manuale, in spring per default tutti i 
bean hanno scopo singleton: la premessa importante da capire è che essendo 
singleton devono essere stateless.Perchè hai dei dubbi sul Repository? Direi 
che visto che possono essere visti come dei DAO anche loro dovrebbero essere 
stateless.
Lo stereotipo @Repository mi pare che aggiunga degli aspetti per fare il 
translate delle sottostanti sql exceptions e ti permetta di iniettare un 
PersistenceContext o un EntityManager se dovessi averne bisogno (ripeto mi pare 
e su questo sto andando a braccio).
Secondo me quindi tutto corretto ;)
P.S. I servizi Rest li stai annotando con @Controller? lo stereotipo dedicato è 
@RestController.

2018-02-16 11:12 GMT+01:00 Danilo Boi [email protected] 
[it-torino-java-jug] <it-torino-java-jug@ yahoogroups.com>:

     Ciao A tutti .Grazie per aver accettato la richiesta.Mi sto occupando di 
programmazionejava specificatamente , al momento , su Spring MVC.Sto 
sviluppando dei servizi Rest.....In particolare la Parte ORMla sto gestendo con 
spring-mybatis Lasciando fare a spring lafactory dei mapper  Mentre per il 
layer dicontrollo sto seguendo l’approccio di alcuni esempi che ho trovato in 
rete e cioè Un oggetto controllerannotato con @Controller Vari oggetti di 
servizio (Businesslogic) annotati come @Service Oggetti di manager deimapper 
MyBatis annotati come @Repository All’interno di questooggetto eseguo del 
@Controller eseguo  @Autowired degli oggetti @ServiceNegli oggetti 
@Serviceeseguo @Autowired degli oggetti @RepositoryChe a loro volta iniettano 
imapper MyBatis. Il dubbio che mi attanagliada qualche giorno è che 
SpringAll’avvio istanzia il @Controllercon un riferimento a n @ServiceQuesti a 
loro volta saranno“Singleton” che  a loro volta iniettanoGli oggetti   
@Repositoryche a loro volta iniettano i mapper MyBatis. Da quello che ho capito 
mitrovo in una situazione in cui tutti gli oggetti sono “Singleton” e questo 
puòandarmi bene per il @controller e forse anche per il @Service ma 
miintimorisce per il layer @Repository. Ho sbagliato l’approccio ? Scusate e 
grazie .Ciao.   



-- 
Massimo Ugues

  

      

  #yiv3209390488 #yiv3209390488 -- #yiv3209390488ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv3209390488 
#yiv3209390488ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv3209390488 
#yiv3209390488ygrp-mkp #yiv3209390488hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv3209390488 #yiv3209390488ygrp-mkp #yiv3209390488ads 
{margin-bottom:10px;}#yiv3209390488 #yiv3209390488ygrp-mkp .yiv3209390488ad 
{padding:0 0;}#yiv3209390488 #yiv3209390488ygrp-mkp .yiv3209390488ad p 
{margin:0;}#yiv3209390488 #yiv3209390488ygrp-mkp .yiv3209390488ad a 
{color:#0000ff;text-decoration:none;}#yiv3209390488 #yiv3209390488ygrp-sponsor 
#yiv3209390488ygrp-lc {font-family:Arial;}#yiv3209390488 
#yiv3209390488ygrp-sponsor #yiv3209390488ygrp-lc #yiv3209390488hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv3209390488 
#yiv3209390488ygrp-sponsor #yiv3209390488ygrp-lc .yiv3209390488ad 
{margin-bottom:10px;padding:0 0;}#yiv3209390488 #yiv3209390488actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv3209390488 
#yiv3209390488activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv3209390488
 #yiv3209390488activity span {font-weight:700;}#yiv3209390488 
#yiv3209390488activity span:first-child 
{text-transform:uppercase;}#yiv3209390488 #yiv3209390488activity span a 
{color:#5085b6;text-decoration:none;}#yiv3209390488 #yiv3209390488activity span 
span {color:#ff7900;}#yiv3209390488 #yiv3209390488activity span 
.yiv3209390488underline {text-decoration:underline;}#yiv3209390488 
.yiv3209390488attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv3209390488 .yiv3209390488attach div a 
{text-decoration:none;}#yiv3209390488 .yiv3209390488attach img 
{border:none;padding-right:5px;}#yiv3209390488 .yiv3209390488attach label 
{display:block;margin-bottom:5px;}#yiv3209390488 .yiv3209390488attach label a 
{text-decoration:none;}#yiv3209390488 blockquote {margin:0 0 0 
4px;}#yiv3209390488 .yiv3209390488bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv3209390488 
.yiv3209390488bold a {text-decoration:none;}#yiv3209390488 dd.yiv3209390488last 
p a {font-family:Verdana;font-weight:700;}#yiv3209390488 dd.yiv3209390488last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv3209390488 
dd.yiv3209390488last p span.yiv3209390488yshortcuts 
{margin-right:0;}#yiv3209390488 div.yiv3209390488attach-table div div a 
{text-decoration:none;}#yiv3209390488 div.yiv3209390488attach-table 
{width:400px;}#yiv3209390488 div.yiv3209390488file-title a, #yiv3209390488 
div.yiv3209390488file-title a:active, #yiv3209390488 
div.yiv3209390488file-title a:hover, #yiv3209390488 div.yiv3209390488file-title 
a:visited {text-decoration:none;}#yiv3209390488 div.yiv3209390488photo-title a, 
#yiv3209390488 div.yiv3209390488photo-title a:active, #yiv3209390488 
div.yiv3209390488photo-title a:hover, #yiv3209390488 
div.yiv3209390488photo-title a:visited {text-decoration:none;}#yiv3209390488 
div#yiv3209390488ygrp-mlmsg #yiv3209390488ygrp-msg p a 
span.yiv3209390488yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv3209390488 
.yiv3209390488green {color:#628c2a;}#yiv3209390488 .yiv3209390488MsoNormal 
{margin:0 0 0 0;}#yiv3209390488 o {font-size:0;}#yiv3209390488 
#yiv3209390488photos div {float:left;width:72px;}#yiv3209390488 
#yiv3209390488photos div div {border:1px solid 
#666666;min-height:62px;overflow:hidden;width:62px;}#yiv3209390488 
#yiv3209390488photos div label 
{color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv3209390488
 #yiv3209390488reco-category {font-size:77%;}#yiv3209390488 
#yiv3209390488reco-desc {font-size:77%;}#yiv3209390488 .yiv3209390488replbq 
{margin:4px;}#yiv3209390488 #yiv3209390488ygrp-actbar div a:first-child 
{margin-right:2px;padding-right:5px;}#yiv3209390488 #yiv3209390488ygrp-mlmsg 
{font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv3209390488 
#yiv3209390488ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv3209390488 
#yiv3209390488ygrp-mlmsg select, #yiv3209390488 input, #yiv3209390488 textarea 
{font:99% Arial, Helvetica, clean, sans-serif;}#yiv3209390488 
#yiv3209390488ygrp-mlmsg pre, #yiv3209390488 code {font:115% 
monospace;}#yiv3209390488 #yiv3209390488ygrp-mlmsg * 
{line-height:1.22em;}#yiv3209390488 #yiv3209390488ygrp-mlmsg #yiv3209390488logo 
{padding-bottom:10px;}#yiv3209390488 #yiv3209390488ygrp-msg p a 
{font-family:Verdana;}#yiv3209390488 #yiv3209390488ygrp-msg 
p#yiv3209390488attach-count span {color:#1E66AE;font-weight:700;}#yiv3209390488 
#yiv3209390488ygrp-reco #yiv3209390488reco-head 
{color:#ff7900;font-weight:700;}#yiv3209390488 #yiv3209390488ygrp-reco 
{margin-bottom:20px;padding:0px;}#yiv3209390488 #yiv3209390488ygrp-sponsor 
#yiv3209390488ov li a {font-size:130%;text-decoration:none;}#yiv3209390488 
#yiv3209390488ygrp-sponsor #yiv3209390488ov li 
{font-size:77%;list-style-type:square;padding:6px 0;}#yiv3209390488 
#yiv3209390488ygrp-sponsor #yiv3209390488ov ul {margin:0;padding:0 0 0 
8px;}#yiv3209390488 #yiv3209390488ygrp-text 
{font-family:Georgia;}#yiv3209390488 #yiv3209390488ygrp-text p {margin:0 0 1em 
0;}#yiv3209390488 #yiv3209390488ygrp-text tt {font-size:120%;}#yiv3209390488 
#yiv3209390488ygrp-vital ul li:last-child {border-right:none 
!important;}#yiv3209390488 

   

Reply via email to