@SpringBootApplication-exclude和扫描并装配其他包下的bean(@AliasFor)

1、exclude

不装配指定bean

@SpringBootApplication(exclude={com.ebc.User.class})

 

2、scanBasePackages

@SpringBootApplication-exclude和扫描并装配其他包下的bean(@AliasFor)_第1张图片

package com.ebc;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//scanBasePackages 后边的值,是一个数组。即可指定多个不同的包
@SpringBootApplication(scanBasePackages = "com.yst")
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

 

package com.yst;

import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.web.context.WebServerApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.reactive.function.server.RouterFunction;
import org.springframework.web.reactive.function.server.ServerResponse;
import reactor.core.publisher.Mono;

import static org.springframework.web.reactive.function.server.RequestPredicates.GET;
import static org.springframework.web.reactive.function.server.RouterFunctions.route;
import static org.springframework.web.reactive.function.server.ServerResponse.ok;

@Configuration
public class WebConfiguration {
    /**
     * 浏览器地址栏中输入:http://localhost:8080/hello-world,回车后,输出:Hello,World
     * @return
     */
    @Bean
    public RouterFunction helloworld() {
        return route(GET("/hello"),request->ok().body(Mono.just("Hello,遥远2"),String.class));
    }

    /**
     * 在spring boot应用启动后回调
     * @param context
     * @return
     */
    @Bean
    public ApplicationRunner runner(WebServerApplicationContext context) {
        return args -> {
            System.out.println("当前WebServer实现类为:"+context.getWebServer().getClass().getName());
        };
    }
}

运行http://localhost:8080/hello

输出:Hello,遥远2

说明,成功。

 

你可能感兴趣的:(@SpringBootApplication-exclude和扫描并装配其他包下的bean(@AliasFor))