- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- Huawei Watch Fit 5 Pro - jó forma
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Samsung Galaxy A52s 5G - jó S-tehetség
- Vivo X200 Pro - a kétszázát!
- Okosóra és okoskiegészítő topik
- Rég várt frissítést kap az Android tárcsázója
- Poco F8 Ultra – forrónaci
- iPhone topik
- Xiaomi 17 Ultra - jó az optikája
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
F1rstK1nq
aktív tag
Megértem. Tényleg embere válogatja.

Egyébként Spring Boot olyan szépen autoconfigolja, hogy öröm belekezdeni.
Ránéztem, nem rossz dolog ez a Mustache sem.
Viszont, most ez az AngularJS 2 + Spring keltette fel az érdeklődésem, hogy megemlítettétek, biztos kipróbálom valami hobbiprojektben a közeljövőben.(#9158) Aethelstone: Nekem sincs jó véleményem Vaadin-ról, sőt nagyon megutáltam a projekt végére, pedig még a Vaadin Spring integrációt is használtuk. CustomLayout-tal még hagyján, de amit kigenerál magából néha enélkül, az vicc. Mindegy, egy Vaadin Certification-re jó volt a tudás, projekt után, de nem igazán tervezek rá visszatérni, ha nem muszáj.
-
F1rstK1nq
aktív tag
Én kedvencem Spring + Thymeleaf kombó, Bootstrap-vel fűszerezve.
Valaki próbálta? Ajánlom.
-
F1rstK1nq
aktív tag
Lehet én vagyok a maradi, de nem egyszerűbb/hatékonyabb így? mvnrepository, majd megkeresed és bemásolod a megfelelő dependency-t a pom-odba?

-
F1rstK1nq
aktív tag
Úgy gondolom, hogy akkor van értelme konténerbe tenni dolgokat, ha ahhoz valamilyen formában kötődne a beaned, vagy az életciklusa. Egy logger szvsz max az osztályhoz kellene hogy kötődjön még csak nem is példányhoz, függetlenül attól, hogy a konténerben singleton. Emiatt én csak private static final loggert használok csak. Lehet ezt nem szeretni, de logikailag számomra tisztább a dolog, és bár marginálisnak tűnhet a dolog, de ennyivel is kevesebb ballaszt van a konténerben és a konfigban.
Érdekes amit írsz, bizonyos szinten érhető is, de szerintem ez abszolút szubjektív. (még ha te nem is annak érzed)
SLF4J oldaláról: "We used to recommend that loggers members be declared as instance variables instead of static. After further analysis, we no longer recommend one approach over the other."
Ott van egy jó kis táblázat a pro/kontra érvekre, de ő sem akar kimondott állást foglalni, hogy osztály vagy példány változó legyen a logger.
Régebben erről már olvastam egy kisebb vélemény ütközést stackoverflow-n is.
Akkor engem meggyőzött a példányváltozós logger használat és úgy kötöttem ki végül itt, hogy kényelmes nekem a logger példány inject-álás prototype-ként.
-
F1rstK1nq
aktív tag
Nem tudom kinek mennyire új dolog ez, de leírom, mivel doksiban nem nagyon tűnt fel.
Spring 4.3-mal bejött az InjectionPoint class. CDI-ben már régebb óta van ilyen. Nekem ez abból az szempontból volt érdekes, hogy ennek a segítségével használtam CDI környezetben eddig a Loggereket. (inject-áltam, nekem ez így kényelmesebb volt, mint a standard megoldás)Íme spring oldalon a megvalósítás:
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public Logger logger(InjectionPoint injectionPoint){
return LoggerFactory.getLogger(injectionPoint.getMember().getDeclaringClass());
}(SL4FJ a facade)
Ezt ugye csak be kell szúrni a megfelelő osztályokba és kész:
@Autowired
private Logger logger;Mit gondoltok? Tetszik/nem tetszik?
Jobban szeretitek a hagyományos megoldást?private final Logger logger = LoggerFactory.getLogger(getClass().getName()); -
F1rstK1nq
aktív tag
-
F1rstK1nq
aktív tag
Én is ezt hittem sokáig, hogy elég a Hikari függőséget betenni a pom-ban, aztán kidebugoltam a közelmúltban és láttam, hogy így az alap tomcat-jdbc datasource-t szúrja be.
Szóval kell a
spring.datasource.type=com.zaxxer.hikari.HikariDataSource.
Majd checkold azért te is légyszí, ha lesz rá időd. 
-
F1rstK1nq
aktív tag
Nem tudom Karma, hogy csinálja, mert lehet máshogy is, de nekem ez tűnik a legegyszerűbbnek, én így szoktam.
A pom-ba berakod a dependency-t, verzió nem kell ugye, mert Spring Boot a parent, azt ő intézi.
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</dependency>Majd az application.properties-be ezt a sort:
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
Mivel a default, a tomcat-jdbc datasource.Majd a megfelelő értékekből létrehozza a datasource-ot a Spring Boot.
pl.:spring.datasource.driver-class-name=org.hsqldb.jdbc.JDBCDriver
spring.datasource.url=jdbc:hsqldb:mem:test
spring.datasource.username=sa
spring.datasource.password= -
F1rstK1nq
aktív tag
A Head First Design Patterns könyvhöz még nem volt ugyan szerencsém, de nagyon dicsérik.
-
F1rstK1nq
aktív tag
Ha nem probléma az angol, akkor a legjobb könyv a témában, ami ad egy részletes leírást a nyelvről: Thinking in Java
Abszolút kezdőknek is ajánlott és mérföldekkel jobb, mint a magyar "társaik". -
F1rstK1nq
aktív tag
Köszönöm a segítséget!

Most már működik amit szerettem volna, már csak egy kérdés: ha egy static metódusban akarnám ezt alkalmazni, akkor ugye a getClass() nem játszik csak így magába, ilyen esetben ezt érdemes használni: [aktuális_osztály_neve].class ? Mert én így csináltam és működött, csak az érdekel hogy más helyeken is ezzel találkozhatok-e majd?Gondolom a static main() metódusban használod.
Igen amit mondasz, ebben az esetben teljesen jó.
AktualisOsztaly.class a getClass() helyett.Kevés az esélye, hogy ezt egy static metódusban fogod használni real life projectben, bár ki tudja.
-
F1rstK1nq
aktív tag
Sziasztok!
Gyakorolgatok éppen, és azt szeretném megtanulni, hogy a getResource() függvény segítségével hogyan érjek el ilyen forrásállományokat, és azokat kezelni tudjam a programjaim segítségével.
A problémát igazából most az okozza, hogy rengeteg féle-fajta megoldást találok a neten, nem tudom melyik lenne a jobb, plusz sajnos még egyiket se sikerült megvalósítanom
De most ne is ragadjunk meg egy konkrét kódrészletnél, inkább elmondom mit szeretnék.
Konkrétan egy Maven projektet hoztam létre, van benne két mappa amit használnék, az src/main/java, ugye ide mennének az osztályaim, és az src/main/resources, ide pedig a forrásállományok. A forrásállományok mappájába létrehoztam egy sima szöveges fájlt, res01.res névvel, írtam bele 3 sort, ezt szeretném majd kiolvasni egy megírt osztály segítségével.
És akkor ami a kérdésem lenne, mi erre a legelterjedtebb módszer, illetve amit még nem értek, hogy a getResource() függvénynek milyen logika alapján kell megadni az elérési útvonalat?
Ha valaki saját választ ír azt nagyon megköszönöm, de ha linkeltek valami jó tutorialt nekem az is megfelel.
Előre is köszi!
Ez a klasszikus megoldás:
String fileName = "res01.res";
ClassLoader classLoader = getClass().getClassLoader();
URL resource = classLoader.getResource(fileName);
if (resource != null) {
File file = new File(resource.getFile());
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}Viszont, ha érdekel más módszer is, itt még tudsz csemegézni Java8-as megoldások közül is. Viszont amit ezekben a megoldásokban nem látsz, hogy hogyan éred el a resources alatti fájlokat. Így:
ClassLoader classLoader = getClass().getClassLoader();
URL resource = classLoader.getResource(fileName); -
F1rstK1nq
aktív tag
Spring-re Spring in Action.
Nagyon jó könyv, szájbarágós, angolja sem vészes, ha attól félnél.
-
F1rstK1nq
aktív tag
Egyébként kicsit általánosabban, lehet az, hogy implementáció és nem interfész típusú a változód, de csak abban az esetben, ha valami olyan metódust, tulajdonságot akarsz használni, ami az interfész nem biztosít, de az implementáció igen.
Így van, én is erre szántam a "még legmagasabb értelmes interfészt megadni" részemet, de lehet a tiéd jobb megfogalmazás.

-
F1rstK1nq
aktív tag
Így megmarad az az előnyöd, hogy csak a Lista implementációját változtatod meg példányosításkor, a kód többi része változatlan marad. (Például ha úgy döntesz, ArrayList helyett LinkedList-et használsz később)
Clean Code szerint egyébként érdemes szinte minden esetben a referencia értéknek a még legmagasabb értelmes interfészt megadni.
-
F1rstK1nq
aktív tag
Mintha csomagnevet is meg lehetne adni a @ComponentScan annotációnál...az nem egyszerűbb? Mondjuk refaktornál gázosabb, bár az Eclipse az ilyeneket is re tudja faktorálni

Természetesen meglehet és teljesen jó az a megoldás is, csak az hivatalosan nem típusbiztos és nem refactor barát.
(én idea zom az is megtudja amúgy
)@ ComponentScan(basePackages={"package1", "package2"})
Kinek mi? Én egyszerűbbnek tartom a marker interfacet.

Egy elméleti példával be is bizonyítom, hogy miért:
-van egy top level package-ed (hu.somebody.main)
-ez alatt lesz 3 package-ed ahol a component-ek leszek definialva:
(hu.somebody.main.package1, hu.somebody.main.package2, hu.somebody.main.package3)
-a marker interface-t beteszed a top level pakage-edbe:package hu.somebody.main;
public interface Application {}Ez az alap felállás. Akkor a 2 opció scannelésre:
@Configuration
@ComponentScan(basePackageClasses = Application.class)
class ApplicationConfig {}vagy
@Configuration
@ComponentScan(basePackages={"hu.somebody.main.package1", "hu.somebody.main.package2", "hu.somebody.main.package3"})
class ApplicationConfig {}Melyik tűnik egyszerűbbnek?

-
F1rstK1nq
aktív tag
Ez megoldva, de nekem ez az egesz szarnak tunik.
Ha van egy osztalyom, ami egy @Component, akkor ha abbol leszarmazik egy masik osztaly, akkor az ososztalyba nem injektal a Spring Boot anelkul, hogy kulon a leszarmazott osztalynal megmondanam @ComponentScan-nel, hogy az ososztalyt is vegye bele a komponensek listajaba?

Ez nem szar, így van kitalálva Springben. Amit megjelölsz @Component annotációval (vagy valamelyik stereotype-jával) az az osztályod lesz Component és működnek rajta a spring specifikus dolgok (pl: Autowired). Ez természetesen a Spring álltal ajánlott implicit mód (Implicit bean discovery and automatic wiring). Lehet expliciten is @Bean annotációval Javaconfig-ból, meg xml config-ból is, de most kicsit elkalandoztam.
Amit te keresel, erre van egy jó kis "best practice" Springben: Csinálj egy üres marker interface-t abba a csomagodba ahol scannelni szeretnél és akkor arra az interfacere hivatkozz a ComponentScan-nél.
pl.: @Configuration
@ComponentScan(basePackageClasses = Application.class)
class ApplicationConfig {}marker interface:
public interface Application {} -
F1rstK1nq
aktív tag
Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Xbox tulajok OFF topicja
- Elemlámpa, zseblámpa
- Konzol Screenshot
- Battlefield 6
- Nem kell még temetni: 2 éves órajelcsúcsot döntöttek meg Raptor Lake-kel
- Projektor topic
- Milyen videókártyát?
- Vicces képek
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- 24 magos AMD Threadripper alapú munkára kiváló félgép, 128GB RAM-mal
- HP ZBook Fury 15 G7 i7-10850H 32GB 512GB SSD Quadro T2000 4GB FHD HUN bill, szép állapotban eladó
- Eladó MacBook Pro 16,1 2019 CTO
- új 0 km es garanciás lenovo loq rtx 5050 8gb
- Eladó teljesen újszerű karcmentes Samsung Galaxy Watch Ultra
- Sok Extra! Playstation Portal 6 hó garancia, számlával!
- GYÖNYÖRŰ iPhone 14 Pro Max 512GB Deep Purple -2 ÉV GARANCIA - Kártyafüggetlen, MS5374, 99% AKKSI
- iPhone 14 128GB Starlight -2 ÉV GARANCIA - Kártyafüggetlen, MS5400, 100% AKKSI
- Telefon felvásárlás!! Samsung Galaxy S25, Samsung Galaxy S25 Plus, Samsung Galaxy S25 Ultra
- 27% - GMR 16GB (2x8GB) DDR3 1600MHZ Memoria!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest







(én idea zom az is megtudja amúgy


