首页IT科技spring jaxrs(Spring IOC官方文档学习笔记(十一)之使用JSR 330标准注解)

spring jaxrs(Spring IOC官方文档学习笔记(十一)之使用JSR 330标准注解)

时间2025-08-02 15:28:45分类IT科技浏览7720
导读:1.使用@Inject和@Named进行依赖注入...

1.使用@Inject和@Named进行依赖注入

(1) Spring提供了对JSR 330标准注解的支持                ,因此我们也可以使用JSR 330标准注解来进行依赖注入                        ,不过        ,在此之前            ,我们得先使用maven添加相关依赖                        ,如下

<dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</version> </dependency>

(2) JSR 330标准注解提供了@Inject注解进行依赖注入            ,它的作用同@Autowired        ,我们可以将它用于变量                        ,方法或构造函数参数上                ,如下

@Component public class ExampleA { //使用@Inject注解    ,来进行依赖项的注入                        ,它的作用跟@Autowired是完全一样的                    ,只不过它是java提供的注解,Spring对其作了实现 @Inject private ExampleB exampleB; private ExampleC exampleC; @Inject public ExampleA(ExampleC exampleC) { this.exampleC = exampleC; } }

(3) @Named注解的作用同@Qualifier注解                    ,也是指定候选的bean的名称                        ,排除其他依赖项的干扰

@Component public class ExampleA { //使用@Named注解标识候选bean的名称    ,如果容器中存在多个ExampleB实例                ,则选择其中bean的名称为exampleB的那个bean进行注入 @Inject @Named("exampleB") private ExampleB exampleB; }

2.@Named注解与@ManagedBean注解

(1) @Named注解与JSR 250中的注解@ManagedBean可以用来替换掉@Component注解                        ,如下

//使用@Named注解定义一个bean        ,没错            ,@Named注解还可用在类上                        ,用于声明一个bean            ,下面这个例子等同于@Component("aaa") @Named("aaa") public class ExampleA { } //此外        ,我们还可以用@ManagedBean注解来声明一个bean @ManagedBean("bbb") public class ExampleB { } //开启注解扫描                        ,则Spring也会把被@Named注解与@ManagedBean注解标注的bean添加至容器中 @Configuration @ComponentScan(basePackages = "cn.example.spring.boke") public class Config { }

(2) @Component注解可以组合衍生出其他注解                ,如@Service    ,@Controller注解等                        ,而@Named注解与@ManagedBean注解不具备这一功能

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
uniapp运行到微信开发者工具上没反应(解决前端项目问题,uniapp运行微信开发工具小程序,出现× initialize报错,以及浏览器无法运行) vue双向绑定原理面试该怎么说(vue双向绑定原理)