zoukankan      html  css  js  c++  java
  • Spring Boot开始

    Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。

    简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题---习惯大于约定。

    新建Maven项目,POM文件如下:

    <project xmlns="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>cn.larry.spring</groupId>
        <artifactId>larry-spring-demo4</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.4.0.RELEASE</version>
        </parent>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    </project>

    保存pom,刷新maven,以便刷新依赖导入。
    基本上,如果没有特别的需要,现在就可以直接写Controller了!!!
    package cn.larry.spring.controller;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    @EnableAutoConfiguration
    public class SampleController {
    
        @RequestMapping("/")
        @ResponseBody
        String home() {
            return "Hello World!";
        }
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(SampleController.class, args);
        }
    }

    这里有两个新东西:@EnableAutoConfiguration 和 SpringApplication 。

    @EnableAutoConfiguration 用于自动配置。简单的说,它会根据你的pom配置(实际上应该是根据具体的依赖)来判断这是一个什么应用,并创建相应的环境。

    在上面这个例子中,@EnableAutoConfiguration 会判断出这是一个web应用,所以会创建相应的web环境。

    SpringApplication 则是用于从main方法启动Spring应用的类。

    默认访问地址: http://localhost:8080/

    Spring Boot在Tomcat中运行

    添加servlet-api的依赖

    <!--Springboot集成的tomcat来提供api-->

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
    </dependency>

    新建一个启动类

    @SpringBootApplication  
    // mapper 接口类扫描包配置  
    public class Application extends SpringBootServletInitializer{  
      
        public static void main(String[] args) throws IOException {  
            // 程序启动入口  
          Properties properties = new Properties();  
          InputStream in = Application.class.getClassLoader().getResourceAsStream("app.properties");  
          properties.load(in);  
          SpringApplication app = new SpringApplication(Application.class);  
          app.setDefaultProperties(properties);  
          app.run(args);  
          /*EmbeddedServletContainerAutoConfiguration*/  
            
        }  
      
        @Override  
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {  
            // TODO Auto-generated method stub  
            builder.sources(this.getClass());  
            return super.configure(builder);  
      
          
        }  
    

      

    经过以上配置,我们把构建好的war包拷到tomcat的webapp下,启动tomcat就可以访问啦

    注意点:

    1)命名都是约定俗成,不要随便改名字,以及目录结构

    2) 要将Application放在最外层,也就是要包含所有子包。

    比如你的groupId是com.google,子包就是所谓的com.google.xxx,所以要将Application类要放在com.google包下。

    springboot会自动加载启动类所在包下及其子包下的所有组件.

    Controller类中的@ResponseBody

    表示直接返回内容





  • 相关阅读:
    简单 || 复杂
    命令行参数 && json 协议 && 自定义 error 类型
    Circos安装 (转+总结)
    ggplot2—Pathway富集分析气泡图
    ggplot2绘图
    linux常用命令小结
    生信学习网站
    Perl学习建议(转)
    R作图函数(转)
    Android viewPager+fragment实现滑页效果
  • 原文地址:https://www.cnblogs.com/chpliy/p/8444973.html
Copyright © 2011-2022 走看看