spring - Why Autowire of class Validator not working but working for GeneralValidator? -


i have came across weird behavior in java class , wanted understand cause of such behavior, since investigating online didn't result similar situation, had ask.

my java program using spring framework has class named validator, it's definition follows:

@component public class validator { ... } 

now, in many other places in code use class @autowired annotation, like:

@autowired validator validator; 

when try fire service .war fails error: org.springframework.beans.factory.nosuchbeandefinitionexception: no qualifying bean of type [com.company.common.validators.validator]

but if add name @component annotation this:

@component("validator") public class validator { ... } 

it works fine.

why have state name of validator class in @component annotation, when same name? have noticed if change class name else, example: generalvalidator works fine without stating name in @component.

this because of conflict org.springframework.validation.validator (documented here), please note documentation of optional argument @component (here)

the value may indicate suggestion logical component name, turned spring bean in case of autodetected component.


Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -