(springboot)入门(一)

(这段是废话)隔了也不知道多久,重新开始 写博客了,之前一直没坚持下来,但是都是用有道云去做的记录,现在有道云记录了太多了,很乱,刚好这阵子公司项目做的差不多了,下半年好像有新的项目启动,所以这阵子开始整理笔记,顺便写下博客。

开始写这个系列博客时,已经用springboot有段时间了,一开始接触这个是从我师傅那里推荐的,很方便,非常好的一个框架。

开始学的时候是看他的博客入门的:http://blog.720ui.com/2016/springboot_01_quickstart/    当然他写的肯定比我好多了,哈哈哈。

使用springboot,推荐跟maven一起使用,如果不清楚什么是maven的话,自行学习下吧。

先启动下然后在介绍吧。在maven中启动,需要导入相对应的 依赖包

可以添加这个配置,让你的maven基础springboot,这样添加springboot其他模块包就不需要在配置版本号,用熟悉的话个人不推荐继续这么使用,可以 http://search.maven.org/#search%7Cga%7C1%7Cspring  在这个网站上搜索对应的springboot 的模块包和对应的版本信息

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.1.RELEASE</version>
</parent>  

添加springboot 启动包

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

build编译,将maven该项目编译成可执行的jar或是war包,启动类所在的项目模块需要添加这个配置。详细的可以搜索下了解。

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

启动,springboot自带tomcat,并且他也自带配置文件,所以几乎是不需要开发者去配置那些繁琐的配置项,只需要一个启动类就能快速启动了。

@SpringBootApplication
public class Main {

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

运行这个主方法,springboot就启动了。

搭建一个web ,helloword 

刚才导入的是启动包,现在需要的web项目,所以需要淡入web依赖,如果你细心的话你会发现,他会自动的导入相对应的所有依赖包,会把其他spring的包一并导入,非常方便,不在需要记住spring需要什么包啊,通用依赖包,都不需要。后面集合其他框架也是非常方便快捷的。

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

测试,这里由于没有保存当时学习例子就用了原来看的博客的代码。

@RestController
@EnableAutoConfiguration
public class RestfulApiWebDemo {
    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }
    public static void main(String[] args) throws Exception {
        SpringApplication.run(RestfulApiWebDemo.class, args);
    }
}

他这样就可以运行一个hello,注意,访问的路径是localhost:8080/   因为,他是直接启动内置的tomcat,而平时项目都是直接通过编译器然后导入到外部tomcat的webapps,来张图看下吧,毕竟这个坑我当时也是踩了很久

(springboot)入门(一)

这个就是通过编译器导入到tomcat,注意到这里有一个默认的项目root,和自己的项目,如果你希望你的项目部署后不需要加项目名,那就把项目解压到ROOT文件夹里,就不需要添加项目名,tomcat访问ROOT是不需要的,而为了区分其他项目,所以需要添加项目名。

springboot启动,你通过主方法启动他的内置tomcat,所以只有一个项目,就不需要添加项目名,当然他也支持打包成war,在其他tomcat上也是可以的。

当然也可以在上面的上面的一个例子进行hello例子,添加一个包和类。上面的例子用的是@RestController,他返回的是字符串,直接显示在页面上,而平时常用的@Controller,他会自动去寻找hello的模板页,然后去显示,所以还需要集成freemarker。

@Controller
@RequestMapping("/HelloWord")
public class HelloWord {
  @RequestMapping(value = "/",method = RequestMethod.GET)
    public String helloword(){
        return "hello";
    }
}