Java教程:如何在JSR 330中使用Spring Boot


Implementation

JSR 330带有自己的一组注释,这些注释与Spring注释不同。仅在Spring环境中使用JSR 330批注将不会带来JSR 330所需的功能-我们需要明确告知Spring容器使用它,并且Spring将覆盖其默认的bean范围策略以使用JSR 330范围。根据JSR 330规范,默认情况下,除非明确标记为单例,否则所有bean都应属于原型范围。

我们将使用JSR 330批注为它们创建一个简单的Spring Boot应用程序,其中包含三个表示为Spring bean的类。在应用程序启动时,将对它们进行扫描并将其添加到Spring上下文中。

项目结构

workspace.png

Steps

1.将javax.injectMaven依赖项添加到pom.xml文件中。

XML格式

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

2.通过ApplicationContextInitializer使用类型实现创建一个InitializerAnnotationConfigApplicationContext。Spring框架带有一个名为的JSR#330元数据类Jsr330ScopeMetadataResolver。我们将使用此类,并将Spring的元数据解析器设置AnnotationConfigApplicationContext为此类,然后告诉上下文扫描程序包,以明确地定位组件/ bean。最后,我们将在Spring Application中添加初始化程序。之后,我们将在Spring容器中拥有一个JSR 330环境。

请参见下图获取我的代码:

exampleapp.png

TestBean 1:

bean1.png

TestBean2具有单例范围。在JSR 330环境中,我们需要显式注释单例。

bean2.png

TestBean3:

bean3.png

在启动应用程序并从上下文检查注册的bean作用域之后,控制台将如下所示:

console.png


原文链接:http://codingdict.com