美文网首页
03_SpringBoot入门

03_SpringBoot入门

作者: 对方不想理你并向你抛出一个异常 | 来源:发表于2017-09-26 11:28 被阅读0次
    什么是Spring Boot Spring Boot的优缺点

    SpringBoot快速入门

    设置spring boot的parent
    <parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>1.5.2.RELEASE</version>
    </parent>
    

    说明:Spring boot的项目必须要将parent设置为spring boot的parent,该parent包含了大量默认的配置,大大简化了我们的开发。

    导入spring boot的web支持
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    添加Spring boot的插件
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    
    编写第一个Spring Boot的应用
    package cn.huachao.springboot.controller;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    @SpringBootApplication
    @Configuration
    public class HelloApplication {
        @RequestMapping("hello")
        @ResponseBody
        public String hello(){
            return "hello world!";
        }
        
        public static void main(String[] args) {
            SpringApplication.run(HelloApplication.class, args);
        }
    }
    

    代码说明:
    1、@SpringBootApplication:Spring Boot项目的核心注解,主要目的是开启自动配置。;
    2、@Configuration:这是一个配置Spring的配置类;
    3、@Controller:标明这是一个SpringMVC的Controller控制器;
    4、main方法:在main方法中启动一个应用,即:这个应用的入口;

    启动应用

    在Spring Boot项目中,启动的方式有两种,一种是直接run Java Application另外一种是通过Spring Boot的Maven插件运行。

    • 第一种
      main方法上右键:Run as ---> Java Application
    • 第二种


      点击Run Configurations

    注:第二种需要在项目中配置了上面的Spring boot的插件

    项目启动成功

    Spring Boot的核心

    入口类和@SpringBootApplication

    Spring Boot的项目一般都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法。

    @SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解:

    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Inherited
    @SpringBootConfiguration
    @EnableAutoConfiguration
    @ComponentScan(excludeFilters = {
            @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
            @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
    public @interface SpringBootApplication {
    ...
    

    该注解主要组合了以下注解:

    • @SpringBootConfiguration:这是Spring Boot项目的配置注解,这也是一个组合注解:
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Configuration
    public @interface SpringBootConfiguration {
    
    }
    

    在Spring Boot项目中推荐使用@ SpringBootConfiguration替代@Configuration

    • @EnableAutoConfiguration:启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项:
      如:我们添加了spring-boot-starter-web的依赖,项目中也就会引入SpringMVC的依赖,Spring Boot就会自动配置tomcat和SpringMVC

    • @ComponentScan:默认扫描@SpringBootApplication所在类的同级目录以及它的子目录。

    关闭自动配置

    通过上述,我们得知,Spring Boot会根据项目中的jar包依赖,自动做出配置,Spring Boot支持的自动配置如下(非常多):


    自动配置

    如果我们不需要Spring Boot自动配置,想关闭某一项的自动配置,该如何设置呢?

    比如:我们不想自动配置Redis,想手动配置。

    @Controller
    @SpringBootApplication(exclude={RedisAutoConfiguration.class})
    @Configuration
    public class HelloApplication {
    ...
    

    自定义Banner

    启动Spring Boot项目后会看到这样的图案:



    这个图片其实是可以自定义的:

    如果不想看到任何的banner,也是可以将其关闭的:

        public static void main(String[] args) {
    //      SpringApplication.run(HelloApplication.class, args);
            SpringApplication application = new SpringApplication(HelloApplication.class);
            application.setBannerMode(Banner.Mode.OFF);//关闭Banner
            application.run(args);
        }
    

    全局配置文件

    Spring Boot项目使用一个全局的配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,一般我们放到resources下。

    • 修改tomcat的端口为8088
    server.port=8088
    

    重启


    • 修改进入DispatcherServlet的规则为:*.html
    server.port=8088
    server.servlet-path=*.html
    

    重启之后:



    相关文章

      网友评论

          本文标题:03_SpringBoot入门

          本文链接:https://www.haomeiwen.com/subject/npgdextx.html