博客> 企业分布式微服务云SpringCloud SpringBoot mybatis (十八)springboot在启动时注入了哪些bean
企业分布式微服务云SpringCloud SpringBoot mybatis (十八)springboot在启动时注入了哪些bean
2018-11-07 07:01 评论:0 阅读:405 candyeep
JAVA Spring springcloud springBoot springmvc

在程序入口加入:

@SpringBootApplication public class SpringbootFirstApplication {

public static void main(String[] args) {
    SpringApplication.run(SpringbootFirstApplication.class, args);
}

@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
    return args -> {

        System.out.println("Let's inspect the beans provided by Spring Boot:");

        String[] beanNames = ctx.getBeanDefinitionNames();
        Arrays.sort(beanNames);
        for (String beanName : beanNames) {
            System.out.println(beanName);
        }

    };
}

} 程序输出:

Let’s inspect the beans provided by Spring Boot: basicErrorController beanNameHandlerMapping beanNameViewResolver characterEncodingFilter commandLineRunner conventionErrorViewResolver defaultServletHandlerMapping defaultViewResolver dispatcherServlet dispatcherServletRegistration duplicateServerPropertiesDetector embeddedServletContainerCustomizerBeanPostProcessor error errorAttributes errorPageCustomizer errorPageRegistrarBeanPostProcessor

…. …. 在程序启动的时候,springboot自动诸如注入了40-50个bean.

通过@RunWith() @SpringBootTest开启注解:

@RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class HelloControllerIT {

@LocalServerPort
private int port;

private URL base;

@Autowired
private TestRestTemplate template;

@Before
public void setUp() throws Exception {
    this.base = new URL("http://localhost:" + port + "/");
}

@Test
public void getHello() throws Exception {
    ResponseEntity<String> response = template.getForEntity(base.toString(),
            String.class);
    assertThat(response.getBody(), equalTo("Greetings from Spring Boot!"));
}

} 运行它会先开启sprigboot工程,然后再测试,测试通过

源码来源:http://minglisoft.cn/honghu/technology.html

收藏
1
sina weixin mail 回到顶部