java - Spring: @Value vs. @Autowired -
i'm having issues injection in application i'm working on (using spring version 3.1.2). start with, i'm seeing lot of code this:
@value("#{searchrequestbean}") private searchrequest searchrequest; @value("#{searchresponsebean}") private searchresponse searchresponse; @autowired private savedsearchservice service; each of these 3 appears have effect of autowiring specified bean/service class. don't understand is, what's difference between @value , @autowired in these cases? every example find online seems use @value inject values properties file. in case, searchresponse , searchrequest abstract classes.
i'm hoping better understanding of me solve issues i'm having session bean.
@value can used injecting default values. example inject default of string value of property file. in example, @value used set default value of class spring managed bean.
@autowired can't used first example: it's not property file aware. @autowired only di of bean. more specific @value, can use @value same thing.
here tutorial @value: http://www.mkyong.com/spring3/spring-value-default-value/