• Now all data be ready for publish, We had made our blog alive now. Haha.

  • These days CCP GFW blocked all the IPs from US and when I switch my IP in google Cloud, the disk data cannot be restore again. I have to restart my blog totally, Now the website is still building…

@Resource vs @Autowired- Stack Overflow

Java PingBook 2 months ago (10-23) 16 0


Which annotation, @Resource (jsr250) or @Autowired (Spring-specific) should I use in DI?

I have successfully used both in the past, @Resource(name=”blah”) and @Autowired @Qualifier(“blah”)

My instinct is to stick with the @Resource tag since it’s been ratified by the jsr people.
Anyone has strong thoughts on this?


In spring pre-3.0 it doesn’t matter which one.

In spring 3.0 there’s support for the standard (JSR-330) annotation @javax.inject.Inject – use it, with a combination of @Qualifier. Note that spring now also supports the @javax.inject.Qualifier meta-annotation:

public @interface YourQualifier {}

So you can have


public class SomeBean implements Foo { .. }

And then:

@Inject @YourQualifier private Foo foo;

This makes less use of String-names, which can be misspelled and are harder to maintain.

As for the original question: both, without specifying any attributes of the annotation, perform injection by type. The difference is:

@Resource allows you to specify a name of the injected bean
@Autowired allows you to mark it as non-mandatory.

Copyright from PingBook Blog, If not specified, they are original. This site uses BY-NC-SAProtocol authenticated.
For reprinting, please indicate the link of the original text:@Resource vs @Autowired- Stack Overflow
LIKE (0)
We create, We sharing! Tag every value data your sharing
Submit comments
Cancel comments
emoji picture bold strikethrough center italic check in

Hi,you need to provide your name and email adress!

  • Name (Required)
  • Email (Required)
  • Website