IntelliJ podkreśla na czerwono bean, który jest zaadnotowany @Component

0

siemanko
Mam problem z intellij. Mam klasę która adnotowałem @Component i używam ją jak beana, tylko używając pliku do spring-security w postaci xml'a jak chce użyć gdzieś tej klasy z @Component to podkreśla się na czerwono.
Po uruchomieniu ogólnie wszystko śmiga, tylko lekko denerwuje ten czerwony kolor, a kopie w netach i docs'ach i nic nie moge wygrzebać jak to cholerstwo nareperować :D

Normalnie używam klas java-config, ale akurat to co chce zrobić za nic w świecie nie chce mi sie skonfigurować java-configiem, a xml jakoś dziwnie działa

ratujcie moje pedantyczne nerwy :)

0

Ale jaki jest komunikat błędu? Na pewno masz dobrze ustawione skanowanie komponentów żeby IntelliJ wykrywał tego beana? Jak wejdziesz w xmlowy konfig to obok tagów do skanowania komponentów masz ikonkę która pozwala zobaczyć wszystkie wykryte komponenty.

0

sam błąd wygląda tak:
user image
Taga do skanowania nie mam, bo ten XML dotyczy spring security, a samą konfiguracje mam w klasie java-configowej. Tam mam @ComponentScan dopiero, ale nie ma tej ikonki co w xml sie pokazuje.

W intellij na dolnym pasku (tam gdzie jest RUN, Terminal itp) jest tez ikona springa i tam jak sie wejdzie i przejdzie do pliku .xml to pokazuje sie co jest w tym pliku. I ziarna zadeklarowane bezpośrednio przez <beans:bean .../> są, ale te z @Component itd. nie ma

Zastanawiam się czy nie popełniam głupstwa, bo: jak adnotuje jakąś klase @Component to dodatkowo musze jeszcze w pliku .xml zadeklarować beana? Bo jak tak zrobię, to wyświetla się normalnie. Tylko wtedy wychodzi ze podwójnie zadeklarowałem bean.

0
  1. Nie nie, nie deklaruj 2 razy. Jeśli chodzi o @ComponentScan to jesteś pewien że łyka ci poprawnie beany? Masz więcej niż 1 żeby to sprawdzić?
  2. Czemu mieszasz 3 rodzaje konfiguracji? To chyba najgorsza możliwa opcja jaka istnieje... Bardzo możliwe że IntelliJ po prostu takiej sytuacji nie ogarnia bo devowie uznali że nikt takiej głupoty robić nie będzie ;]
0

@Shalom
ad1. @ComponentScan mam ustawione na "com.sec" gdzie dopiero znajduja sie wszelkie klasy w projekcie, także łapie wszystkie. Mam jeden @Controller i jeden @Component + w pliku xml zadeklarowany jeden.

ad2. czemu 3, nie 2? mam w klasach + xml :P mieszam bo ten example próbuje sklejać szukajac informacji w google i tak wyszło jakoś. A to aż takie niepoprawne jak sie ma troche w postaci klas i plik xml?
Mówie "example" bo potrzebuje jednej funkcjonalności do głównego projektu i chce ją przetestować na nowym odrębnym projekcie. Wiem, że mógłbym z głównego zrobic git checkout -b branchtestowy przykładowo :D ale troche tego tam już jest i chce spróbować na czysto.

I troche mnie przeraża, że to co potrzebuje działa mi XMLem a JavaConfigiem nie : ( xml w sumie spoko, ale powoli chyba robi sie migracje na te pliki javowe. (a tak post scriptum: intellij to chyba daje lepszy support dla plikow xml niz klas jesli chodzi o springa przynajmniej :o tak skromnie pozwoliłem sobie zauwazyc)

0
  1. Bo masz tez przeciez beany deklarowane w kodzie adnotacjami, więc w sumie 3 sposoby ;) Nie jest to niepoprawne tylko mylące. Mało kto się spodziewa że konfigiurujesz i klasą i xmlem skoro możliwości są identyczne.
0

cały problem rozchodzi się o authentication przez rest'a. Wszystko co wyszukuje w goglach opiera sie na xmlu. I jak próbuje analogicznie tworzyć klasy configowe zamiast xml to jest klapa z przyczyn niewiadomych. Bo też mi tak średnio pasuje pchać tam xmla skoro do tej pory obeszło się całkowicie bez niego

0

A co powiesz na dokumentację springa ?

0

No dobra, ale wracając do głównego problemu, nawet gdybym miał pełną konfiguracje xmlową, to i tak często używam @Controller @Service itd. więc powinno banglać, a tu czerwień

edit
dobra odkrycie jest takie, że jak w xmlu dam: <context:component-scan base-package="com.sec"/> to sie nie czerwieni już :P czyli jednak @ComponentScan dla intellij nie istnieje

tylko jak teraz zrobic autentykacje przez rest bez xml to już pojęcia nie mam :)

edit
dobra cofam, udało sie :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1