Kọmputa, Siseto
Spring Java: ibere ati eko fun olubere
Lati ọjọ, fere gbogbo ohun elo lo a kowe siseto ọna - Orisun omi Java. Awọn ifilelẹ ti awọn anfani ti yi ede ni wipe awọn olumulo ti wa ni fun ni anfani lati se agbekale eto kan ni awọn fọọmu ti a rọrun ti ṣeto ti loose-pelu eroja ti o ko ba wa ni ti sopọ mọ si kọọkan miiran.
Nìkan fi, awọn díẹ ohun elo sipo ti wa ni ti sopọ mọ, awọn rọrun ti o ni lati forukọsilẹ awọn ẹya ara ẹrọ titun ati ki o ni akoko kanna iṣakoso awọn tẹlẹ ti wa tẹlẹ be. Ọkan ninu awọn brightest ati julọ o rọrun apẹẹrẹ ni isakoso ti lẹkọ. Pẹlu Spring Java idunadura isakoso be pese ominira ti awọn ifilelẹ ti awọn kannaa Asopọmọra pẹlu awọn database. Eyikeyi ayipada si awọn kannaa oniru yoo ni ipa lori idunadura, ti o ni, ma ko rú awọn ipilẹ agutan ti awọn eto. Orisun omi ni o ni modularity.
Awọn orisirisi eroja ati ẹya le wa ni paarẹ tabi fi kun ni eyikeyi ibi Oba ominira lati kọọkan miiran. Ni pato, awọn eto le wa ni pin ni iru kan ona ti o ko ni ko ani mọ pe ni dari nipasẹ awọn orisun omi Java. Ni afikun, awọn kowe ede gidigidi simplifies kuro HIV, niwon awọn ano, apẹrẹ fun IOC akoonu, o kan to lati ara eke ibasepo ati awọn ara idanwo awọn iṣẹ-ati awọn išedede rẹ apejuwe.
Orisun omi jẹ tun ni Java gidigidi simplifies initialization ati yiyi eroja ti awọn eto, eyi ti o tumo o le ni rọọrun ki o si seamlessly tunto awọn ohun elo fun ara wọn, lai ṣiṣe a agbaye reconfiguration, o kun orisun omi koodu.
Loni o le wa lori Java Spring àkànlò ni o tobi awọn nọmba ati ni o yatọ si ede (English, Russian, ati be be be). Nitorina bori "Java" ati awọn ti o le ara, sugbon a ba ni o ti o yoo gbiyanju lati ran!
inu Spring
Bi o ti wa ni awọn faaji "ti Java Orisun omi" lati inu, jasi mọ ko gbogbo eniyan. Nítorí náà, jẹ ki ká wo ni diẹ awọn apejuwe awọn be:
- Eto ati kika ti nwọle BeanDefinition o tọ iṣeto ni (XML, JavaConfig, Groovy ati AnnotationConfigApplicationContext). Ni ibẹrẹ ipele ti wa ni gbogbo awọn atọkun - BeanDefinition. Ti o da lori awọn wun ti iṣeto ni ni pataki lati lo ohun ti o yẹ siseto - Kika ti nwọle eto irinše.
- Eto da awọn atọkun (orisi) - BeanDefinition.
- Fifi aṣa ohun lilo FactoryBean.
- Ṣiṣẹda apeere (roughing) opopona.
- Eto da awọn ewa.
- Idanwo awọn iṣẹ-kọ opopona.
Orisun omi: ibẹrẹ
Ti o ba ti o kan pinnu lati bẹrẹ lati gba acquainted pẹlu awọn siseto lori "Java Spring", jẹ daju lati bẹrẹ pẹlu Java ká Orisun omi (ilana). Eleyi jẹ ọkan ninu awọn alinisoro ọna ti awọn ìmọ orisun software fun yi Syeed "Java". Awọn ilana ṣẹda a dédé be ti o le awọn iṣọrọ wa ni loo si julọ ninu awọn iṣẹ-ṣiṣe ti a tẹlẹ ṣàpèjúwe da lori Java. Ayedero ati akoyawo ilana yoo gba o laaye lati ri ara rẹ asise ni yewo.
Orisun omi le ti wa ni apejuwe bi a gbigba ti awọn orisirisi ominira nílẹ, bi daradara bi eka sii ẹya (ni awọn ilana, awọn ilana). Julọ ti awọn wọnyi ẹya le ṣiṣẹ ominira, sibẹsibẹ, nwọn si fi awọn ọpọlọpọ iye ti ṣiṣe nigbati pínpín ohun elo bere. Wọnyi irinše wa ni pin si igbekale awọn ẹya ara ti eka eto, ti o da lori wọn idi:
- Adarí - ayida ti Iṣakoso. Rii daju ti o tọ isẹ, wa lodidi fun awọn iṣeto ni ti awọn ohun elo eroja ati fiofinsi awọn iṣẹ-ṣiṣe ọmọ ti Java ohun.
- Access to data - iṣẹ-ọtẹ lati ṣakoso a ti ibatan database (DB) ni Java. Pẹlu yi ilana ká ojutu pese kan tobi nọmba ti italaya lori ilana ti Java ayika.
- Awọn ilana aspect-orienting iṣeto ni. Nṣiṣẹ pẹlu awọn irinše ti ko le wa woye laisi eyikeyi pipadanu ni Java.
- idunadura isakoso. Ilana eto nipasẹ awọn AP ati awọn irinṣẹ lati ṣe awọn ohun ti Iṣakoso lẹkọ fun Java eroja.
- latọna wiwọle ati isakoso ilana. Iṣeto ni waye tibile.
- Ijeri ati ašẹ. Atilẹyin awọn atunto lori ọpọlọpọ gbajumo Ilana nipasẹ Orisun omi Aabo.
Lati ọjọ, fun gbogbo nílẹ ni "Orisun omi" nfun awọn nọmba kan ti o ṣeeṣe:
- Laifọwọyi awọn oluşewadi isakoso.
- Sile mu irinše fun data wiwọle sile ti awọn "Orisun omi".
- Sihin isakoso ti lẹkọ nigba eyikeyi data mosi.
- Unzipping oro.
- afoyemọ processing ni ọpọlọpọ awọn ọna kika.
O nilo lati ni oye awọn idi ti gbogbo nílẹ, bi ni ipile ti Java Orisun omi. Fun olubere o ti wa ni niyanju lati bẹrẹ eko gbogbo awọn irinše sinu awọn ẹgbẹ ati ki o gbiyanju lati lo wọn ninu awọn apeere.
Bi o lati ṣe kan awọn ohun elo lori Java Orisun omi (ilana)
ohun elo iṣeto ni ni Orisun omi le ṣee ṣe ni orisirisi ona. Ọkan ninu awọn wọpọ si ti wa ni ka lati wa ni iṣẹtọ o rọrun takeaway iṣeto ni to XML-faili. Yi iru asa lo ni ọpọlọpọ awọn ẹya ti Java Orisun omi. Fun olubere, a so lilo irinṣẹ bi Java (1,5), tomcat (6), kokoro (1.7), ati oṣupa (3), junit 4x.
Lati se apejuwe kan ti o rọrun-ṣiṣe ni Java Spring, o nilo lati Stick si awọn Tan:
- Ṣẹda awọn gan be ti awọn ohun elo. Lati ṣe eyi ti o yoo nilo lati fi sori ẹrọ kan pataki plug-ni ati oṣupa - Orisun omi IDE. O tun pataki lati ṣẹda ise agbese kan lori Springapp ati afikun fi folda kan si ogun.
- Ṣẹda index.jsp. Ni Java Spring ayelujara afikun ohun ti juwe WEB-INF ati ki o gbe o ni web.xml.
- Deploim eto tomcat. Lati ran awọn ohun elo, o gbọdọ lo awọn kokoro-akosile, eyi ti yoo ni a afojusun fun akopo, gbigbe ati eto be.
- Full prescribing gbogbo ohun elo, ṣe awọn igbeyewo. Bẹrẹ tomcat ki o si ṣi oju-iwe ayelujara pẹlu awọn adirẹsi: localhost: 8080 / springapp /.
- Ki o si o nilo lati fi sori ẹrọ ni orisun omi ilana, ati unzip o.
Ni yi ipele a le so pe o ti wa ni kiakia pari awọn nẹtiwọki ayika eto. Ki o si ti o nilo lati satunṣe awọn orisun omi Java konfigi:
- Akọkọ ti a nilo lati ṣe diẹ ninu awọn ayipada to web.xml, eyi ti o yoo ri ninu awọn WEB-INF folda. Wa ìlépa ni lati forukọsilẹ awọn dispatcher input ohun elo ibeere.
- A ṣe eto awọn ibeere input. A pinnu lati gbogbo awọn ibeere pẹlu Iru '.htm' directed si Servlet faili.
- Ki o si da awọn data ìkàwé ni WEB-INF / libera.
- Ṣẹda a oludari springapp.web ki o si gbe igbeyewo.
- Beere awọn fọọmu ati sakojo awọn ohun elo lori a server.
- Gbiyanju lati ṣiṣe awọn ohun elo.
Kini a ṣe ni orisun omi Java? Fun dummies ti diẹ ninu awọn ti awọn loke akojọ awọn ohun ni o wa ko ko o, ki gbiyanju lati se apejuwe rọrun:
- A ti da a iwe lesekese bẹrẹ awọn index.jsp, eyi ti Sin lati ṣayẹwo awọn titunse ti awọn fifi sori ayika.
- A ti aami-pẹlu awọn yẹ adarí apejuwe faili springapp-servlet.xml.
- A da a oludari ati ki o kan ogun ti ọrọ fun u.
- Beere ti awọn ohun elo.
Ohun ti o jẹ Java Spring Aabo, ati idi ti wa ni o ti nilo?
Spring Aabo faye gba o lati fun laṣẹ ki o si fi jeri awọn ohun elo. Ni afikun, awọn ilana pese aabo ti ajọ afojusun, eyi ti o ti wa ni da ni lilo awọn Orisun omi Framework.
Awọn bọtini irinše ti Orisun omi Aabo:
- SecurityContextHolder. O ni isiyi alaye lori aabo, ki o si tun pẹlu alaye alaye nipa awọn olumulo ti o bere si awọn ohun elo. Aiyipada SecurityContextHolder tọjú awọn alaye ni a ThreadLocal, eyi ti o tumo si wipe aabo ti o tọ ti o wa fun gbogbo awọn ọna ti o ti wa muse ni odò.
- SecurityContext. O ni gbogbo alaye nipa awọn aabo ti awọn eto, eyi ti o ti sopọ mọ si awọn olumulo ká ìbéèrè, bi daradara bi awọn Ijeri ohun na.
- Ijeri. User mọ lati awọn software ẹgbẹ.
- GrantedAuthority. O ti fihan awọn igbanilaaye ti awọn olumulo ti gba jakejado elo.
- UserDetails. Han pataki alaye fun Ijeri eto lati awọn orisun miiran ti aabo awọn ọna šiše. O ni alaye gẹgẹbi awọn olumulo ká apeso, ọrọigbaniwọle, ati awọn asia.
- UserDetailsService. Lo lati ṣẹda UserDetails nipa imulo awon kan ọna ti yi ni wiwo.
darapo Java
Integration Java Spring - a oto ilana ti o ba pẹlu eto awọn iṣẹ, wa lodidi fun fifiranṣẹ ifiranṣẹ. Ni afikun, yi ohun jẹ lodidi fun ile kan alagbara, faaji-ifoju:
- Onimọ.
- Alamuuṣẹ fun interoperability pẹlu miiran awọn ọna šiše.
- Activators iṣẹ.
- Ayirapada et al.
Spring Hadoop
VMware jẹ titun kan idagbasoke, eyi ti o ti sopọ awọn meji ti o tobi ise agbese - Afun Hadoop ati Orisun omi. Lara awọn ọpọlọpọ awọn anfani ti awọn titun ilana ti wa ni lati pese diẹ ninu awọn ipilẹ. Wọn ti wa ni:
- iṣeto ni support lori ilana ti HBase.
- Ọjọgbọn Support ipele Orisun omi.
- Support fun lilo pẹlu Java Orisun omi Integration.
- Parameterization ti Hadoop iṣeto ni.
- Àdàkọ processing ẹrọ pẹlu pọ irinše Hadoop.
- Declarative support fun Hadoop irinṣẹ.
- Ti eto support fun Hadoop irinše.
Java hibernate
Fere gbogbo ayelujara ohun elo ko le se lai titoju tobi oye ti alaye. Bi awọn kan Ofin apapọ, lati yanju isoro yi lilo orisirisi kan ti pataki eto - .. data, etc. Awọn be ti agbari ati awọn igbohunsafẹfẹ ti lilo ti awọn database le ti wa ni pin si orisirisi subgroups, ati awọn ti o sele wipe awọn ti ibatan o wa ni wọpọ. Ojo melo, awọn apejuwe ti awọn data ẹya ti o tobi to, ki o si ma ko nigbagbogbo lo wọn rationally.
Java Spring - Bluetooth lati dẹrọ awọn ohun elo ti awọn kikọ - sope awọn lilo ti ORM (Nkan-ti ibatan ìyàwòrán). Alailewu awọn ọna ìkàwé Hibernate, eyi ti o iyipada awọn data lati ọkan fọọmu si miiran. Ni afikun, o le ran o ni rọọrun ṣeto soke awọn isopọ si database awọn faili ati idunadura isakoso.
Fun awọn transformation ti ọkan kilasi si miiran ni Java Hibernate Spring, nibẹ ni o wa ni ọpọlọpọ awọn pataki Generators:
- Increment.
- Identity.
- Ọkọọkan.
- Hilo.
- Seqhilo.
- Uuid.
- Guid.
- Native.
- Sọtọ.
- Foreign.
- ọkọọkan-idanimo.
Awọn anfani ti lilo Java hibernate Orisun omi:
- Simple be pẹlu interconnection sise DB ati POJO.
- Laifọwọyi iran ti Primary Key irinše.
- HQL.
- Kaṣe: Keji ipele, Ikoni Ipele ati, dajudaju, ìbéèrè.
- Ti o dara išẹ.
- Iṣapẹẹrẹ Lode Da.
Asa fun olubere
Ọkan lati awọn irorun ọrọ ise agbese lori Java Spring ohun elo ni lati kọ 'hello'. Syeed ko ni ko beere eyikeyi afikun ìforúkọsílẹ tabi eyikeyi idiju awọn aṣa ati ni nitobi lori Bootstrap. A lo kan ti o rọrun html lai agbohunsoke. Ati paapa ti o ba awọn ipilẹ fọọmu ni:
- Text titẹsi oko "hello."
- Key "lati ṣẹda a gba", nipa titẹ lori eyi ti wa ọrọ yoo wa ni rán fun processing ti o ti fipamọ ni awọn database.
- Awọn akojọ, eyi ti yoo wa ni han ṣaaju ki o to ṣiṣẹda kan gba.
Die a ko nilo ohunkohun. A tan si awọn Java orisun omi. iwa:
- Dajudaju, ṣeto lori kọmputa rẹ Java.
- Fi Maven.
- Ṣẹda a Spring-bata oniru.
- Fi sori ẹrọ ni database.
- Kaakiri awọn awoṣe kilasi. O ti wa ni ti o dara ju lati ṣẹda diẹ ninu awọn ọkan.
- Se awọn isẹ pẹlu irinše lilo awọn ṣẹda-ka-imudojuiwọn-pa.
- Ṣẹda a fọọmu ni JSP.
- Di rẹ fọọmu to awọn ti o yẹ oludari.
Ohun ti o jẹ MVC, ati ni o bi o ti wa ni ti sopọ pẹlu Orisun omi
MVC - a kikan Syeed, "Orisun omi", eyi ti o ti lojutu lori olumulo ibeere. O ti ni a fun a iṣiro view ti gbogbo ipenija-orienting awọn ọna šiše awọn iṣẹ. Ṣeto kọọkan ni wiwo yẹ ki o wa rọrun ati ki o ṣoki ti ki awọn olumulo le optionally tun-se awọn ohun elo laisi eyikeyi isoro. Yi Syeed paves awọn taara asopọ si awọn iwaju-opin-koodu. Gbogbo awọn atọkun ni nkan ṣe pẹlu ohun Servlet API. Nitori lati yi ibasepo ti wa ni gidigidi yepere ohun elo siseto.
Awọn pataki atọkun ni:
- Awoṣe - awọn awoṣe data.
- Wo - map irisi.
- Adarí - isakoso, awọn idasile ti awọn ibasepọ laarin awọn mejeji akọkọ.
Awọn pataki atọkun ni:
- HandlerAdapter.
- Oludari.
- Wo.
- HandlerMapping.
- ViewResolver.
- HandlerInterceptor.
- LocaleResolver.
- MultipartResolver.
Java Spring MVC (awoṣe-view-controlle) ṣi awọn Olùgbéejáde a pupo ti afikun awọn ẹya ara ẹrọ:
- A ko o ati ki o rọrun Iyapa laarin awọn ibeere.
- Kọọkan wiwo jẹ daada lodidi fun re tabi rẹ apakan.
- Ni wiwo le wa ni yipada lilo ohun yiyan imuse lai isoro.
- Gbogbo awọn atọkun ni nkan ṣe pẹlu API Servlet.
- Pele ipele ti daradara ati iṣẹ-fun ayelujara awọn ohun elo.
- Ni agbara lati lo orisirisi awọn ẹya ti awọn "Orisun omi", ko kan MVC (awoṣe-view-controlle).
Awọn ipilẹ package
Awọn ipilẹ package ni awọn julọ Pataki apa ti awọn eto ati ki o kí durode abẹrẹ, faye gba o lati ṣakoso awọn ni ìrísí eiyan iṣẹ-. Awọn ipilẹ Erongba nibi ni BeanFactory, eyi ti o pese a factory Àpẹẹrẹ, ti jade ni nilo fun software support fun singletons ati ki o faye gba o lati ya awọn iṣeto ni ati sipesifikesonu ti dependencies lati gangan eto kannaa.
Ọbẹ package pese a JDBC-afoyemọ Layer ti yọ awọn ye lati se tedious JDBC-ifaminsi ati database igbekale ti kan pato aṣiṣe awọn koodu olupese. Ni afikun, o le ṣe awọn software bi daradara bi declarative idunadura isakoso, ko nikan fun awọn kilasi ti o se atọkun, sugbon fun gbogbo Pojos (itele ti atijọ Java ohun).
ORM package pese Integration fẹlẹfẹlẹ gbajumo API fun aworan agbaye ti ibatan ohun, pẹlu JDO, Hibernate ati Ibatis. Lilo awọn ORM package ti o le lo gbogbo awọn O / R-mappers ni apapo pẹlu miiran Spring-ipese awọn iṣẹ.
AOP package pese ibamu Spring aspect-Oorun siseto, imuse, AOP Alliance, gbigba lati mọ, fun apẹẹrẹ, awọn ọna ti intercepting ki o si decouple koodu imulo iṣẹ.
To metadata ni orisun, o le ni gbogbo iru iwa alaye sinu rẹ koodu, gẹgẹ bi awọn NET-ro.
Orisun Ayelujara package pese ipilẹ ayelujara-Integration awọn ẹya ara ẹrọ, gẹgẹ bi awọn multipart iṣẹ, initialization ti àrà lilo Servlet awọn olutẹtisi ati o tọ ti ayelujara-orisun elo. Imuse ni Spring MVC pese a ko Iyapa laarin awọn ašẹ awoṣe koodu ati ayelujara fọọmu ti o fun laaye lati lo gbogbo awọn ẹya ara ẹrọ miiran ti awọn Orisun omi Framework fun ijerisi.
Awọn ibeere fun domain ohun
To JPA ohun elo lati sisẹ daradara, o jẹ pataki lati se atẹle awọn titunse ti kikọ iru ibeere:
- "Java" -binom tabi POJO.
- Awọn kilasi gbọdọ wa ko le jogun (ko ik).
- Aami-Constructor. Standard ni lai eyikeyi sile.
- Kọ alailewu Serializable. Eleyi jẹ pataki ki awọn irinše le wa ni kashi ni pataki kan fọọmu.
- Forukọsilẹ idamo gbogbo aaye, ti o ni, ohun ko le wa ni fipamọ ni awọn database, ayafi ti won ni a Primary bọtini.
- Niwaju awọn ro pe.
- Awọn getters juwe kan pato tọka si awọn gbigba ti awọn ohun, dipo ju kan daakọ. O ti wa ni undesirable lati lo imole, nitori nigbati o ba nilo lati pada wa orun, o nilo lati forukọsilẹ a daakọ ti o. Ni afikun, oyimbo soro lati ẹya orun ti jogun.
- Faramọ pẹlu awọn lẹta. Ṣaaju ki o to ṣiṣẹ ni Java Spring, o nilo lati ni oye ọpọlọpọ awọn ti awọn ofin ati iye ti awọn orisirisi awọn iṣẹ. Nìkan fi, lati gba awọn slightest agutan ohun ti o jẹ ati ohun ti o ti wa ni ti lo.
- Gbiyanju lati kọ ara wọn ọkan ninu awọn rọọrun iṣẹ-ṣiṣe. Fun apẹẹrẹ, _PRIVET_ ohun elo "ejò" tabi eyikeyi miiran.
- Di faramọ pẹlu WEB. Ti o dara ju ti gbogbo yi yoo ran online courses. Ti o ko ba fẹ o, fa pada fun awọn iwe ati ki o ye titun awọn agbekale tẹlẹ ara.
- Gbiyanju lati complicate awọn ti o rọrun isiro _privet_ eka sii aṣa. Bakannaa a so wipe o gbiyanju lati kọ kan ti o rọrun ohun elo ti o le jẹ wulo si o ni gidi aye. Ki o yoo jẹ rọrun lati Titunto si yi siseto ọna.
Oluranlowo egbe ti ohun
Nibẹ ni o wa ni ọpọlọpọ awọn afikun kilasi:
- "Spring Ọbẹ". Yi kilasi iranlọwọ lati ṣiṣẹ pẹlu awọn a DB (database).
- Sprining lẹkọ. Bi ofin, nigba kikọ awọn ohun elo ni gbogbo igba, a Idunadura Manager. Ni kete ti awọn olumulo ti telẹ awọn ọna, awọn idunadura yoo wa ni kun laifọwọyi ṣẹda ki o si pari.
- Sprining Aabo. Yi kilasi asọye awọn olumulo ìfàṣẹsí (wiwọle, ọrọigbaniwọle, ati t.). Daradara ṣẹda ni o kere 10 binomials ni lati le se aseyori pọ ṣiṣe ni awọn Aabo iṣẹ.
Imọ-ni akọkọ kuru ni Java Spring
Nini acquainted pẹlu awọn kan pato kowe ọna ti siseto bi "Java Spring", o le ri o yatọ si kuru. Bi ofin, ko gbogbo ojula tabi awọn iwe ohun, o le ri wọn tiransikiripiti, ki jẹ ki ká wo ohun ti o jẹ Java Orisun omi. apẹẹrẹ:
- Ayida ti Iṣakoso - IOC - ayida ti Iṣakoso tabi, diẹ nìkan, awọn ifilelẹ ti awọn ohun elo module.
- AOP - aspect-itọkasi siseto. O ṣeun si yi module "Java" le seamlessly sopọ si eyikeyi wiwọle ojuami ati forukọsilẹ nibẹ awọn pataki koodu.
- MVC - awoṣe-view-adarí - a ti eleto Àpẹẹrẹ ti asọye ati ki o apejuwe a ọna fun ko awọn oniru ti gbogbo awọn ohun elo, pese ibaraenisepo ti gbogbo awọn ẹya ti awọn kanna eto. Ṣẹda ayelujara.
- Kilasi WEB ti a ṣe lati dẹrọ awọn idagbasoke ti awọn ilana ti ašẹ, jẹ lodidi fun wiwọle si awọn opopona, ati ki lori. D.
- ORM- ohun-ti ibatan ìyàwòrán - ojúewé awọn DB (database) pẹlu awọn agbekale ti ohun-orienting siseto imuposi lati ṣẹda titun kan foju database.
- Ọbẹ ti a ṣe lati ṣiṣẹ pẹlu awọn infomesonu ninu awọn be ti "Orisun omi".
- Service afoyemọ - so awọn atọkun (hihan) ti awọn ohun elo ti o jẹ lodidi fun abstracting awọn isoro.
Loni, o le ri kan pupo ti wulo ati awon alaye lori Java Orisun omi. Eko, Tutorial, webinars yoo esan ran o seamlessly Ṣawari awọn kowe siseto ede. Ti o ba ti o ba ni iriri eyikeyi awọn iṣoro pẹlu kikọ ohun elo, ṣe ayẹwo awọn iwe fun awọn "orisun omi", ninu eyi ti awọn onkọwe se apejuwe ninu to apejuwe awọn gbogbo awọn ibeere fun awọn "Java" o si dahun awọn ibeere, bi o si fix loorekoore awọn aṣiṣe.
Similar articles
Trending Now