GenericApplicationContext怎么在Spring Boot中使用

今天就跟大家聊聊有关GenericApplicationContext怎么在Spring Boot中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Spring Boot的POM.xml:

GenericApplicationContext怎么在Spring Boot中使用

<?xmlversion="1.0"encoding="UTF-8"?>
<projectxmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.zetcode</groupId>
<artifactId>genappctx</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>genappctx</name>
<description>UsingGenericApplicationContext</description>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
<relativePath/><!--lookupparentfromrepository-->
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>11</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

这是Maven pom.xml文件。这spring-boot-starter-parent是一个父POM,为使用Maven构建的应用程序提供依赖性和插件管理。它spring-boot-starter是核心启动器,包括自动配置支持,日志记录和YAML。在spring-boot-starter-test春季增加了测试支持。将spring-boot-maven-pluginSpring应用程序包转换为可执行的JAR或WAR归档文件。

application.properties:

spring.main.banner-mode=off
logging.level.root=ERROR
logging.pattern.console=%d{dd-MM-yyyyHH:mm:ss}%magenta([%thread])%highlight(%-5level))%logger。%M-%msg%n

这个application.properties是Spring Boot中的主要配置文件。我们关闭Spring标题,仅减少记录到错误的数量,并设置控制台日志记录模式。

TimeService.java:

publicclassTimeService{

publicInstantgetNow(){

returnInstant.now();
}
}

TimeService包含一个返回当前日期和时间的简单方法。此服务类将在我们的通用应用程序上下文中注册。

@SpringBootApplication
publicclassMyApplicationimplementsCommandLineRunner{

@Autowired
privateGenericApplicationContextcontext;

publicstaticvoidmain(String[]args){

SpringApplication.run(MyApplication.class,args);
}

@Override
publicvoidrun(String...args)throwsException{

context.registerBean("com.zetcode.Service.TimeService",
TimeService.class,()->newTimeService());

vartimeService=(TimeService)context.getBean(TimeService.class);

System.out.println(timeService.getNow());

context.registerShutdownHook();
}
}

MyApplication是设置Spring Boot应用程序的入口点。该@SpringBootApplication注释能够自动配置和组件扫描。这是一个方便的注释,等同于@Configuration,@EnableAutoConfiguration以及@ComponentScan注释。

这里我们注入了GenericApplicationContext。使用该registerBean()方法注册了 一个新的TimeService bean 。

下面是测试MyApplicationTests.java:

@RunWith(SpringRunner.class)
@SpringBootTest
publicclassMyApplicationTests{

@Autowired
privateGenericApplicationContextcontext;

@Test
publicvoidtestNow(){

vartimeService=(TimeService)context.getBean("com.zetcode.Service.TimeService");
varnow=timeService.getNow();

assertThat(now.isBefore(Instant.now()));
}
}

运行:

mvn -q spring-boot:run

看完上述内容,你们对GenericApplicationContext怎么在Spring Boot中使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注恰卡编程网行业资讯频道,感谢大家的支持。

发布于 2021-03-26 01:50:30
收藏
分享
海报
0 条评论
167
上一篇:如何在python中使用pygame框架 下一篇:怎么在Android中使用ViewPager实现一个滚动广告效果
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码