spring boot 简化开发:把平时开发者最常用的到一些步骤,按照开发者的习惯,把能包装的就包装成一些固有的工具类(就比如我们之前连接数据库时常写的DB工具类)。当然,是在原有的spring框架的基础之上。嗯,就是没有什么新的技术,不用理解,会用就好,相当于一个工具。

  spring boot+IDE(java开发工具)+JDK+maven  使用这几个东西就可以很轻松的构建一个web项目。不像之前,还要各种找对应版本的jar包,不用学习“web项目部署在Tomcat的n多种方法”,不用继承其他框架,不用写看不懂记不住的xml文件,等等。

  spring boot一般使用maven来构建项目(如果不会maven,从网上找一些相关的demo,从demo1到demo10 新建10个maven项目,实现一些web请求、数据库连接等简单功能就会了),默认将web应用打成jar包。(本人多记一个:groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。groupId一般分为多个段,第一段为域,第二段为公司名称,其他按自己需要分类自行处理。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。artifactId:自己的项目名称。)

  案例如下:

  1、先建立一个简单的maven项目,嗯,什么都没有的那种。。

  

  2、添加springboot依赖:

    (1)定义springboot版本(对,springboot也是在不停的进化中。。)

    (2)因为想要一个web项目,所以,也要加一个web包。这个包添加了就可以拥有web项目的访问功能等。

  3、这个项目怎么启动呢?执行一个主类中的main方法,嗯,不用部署在Tomcat下,因为上面添加的那个“web”包默认集成着Tomcat。。

具体代码如下:

  下面这个是pom文件的,<parent>中定义着springboot版本(parent,父母,没问题,用springboot就要有这个),spring-boot-starter-web就是定义web项目的包(突然想看到它集成的Tomcat有木有版本,在maven仓库中,找\org\springframework\boot\spring-boot-starter-tomcat,嗯,果然也是有版本的)

<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>com.demioct</groupId>
<artifactId>springbootdemo</artifactId>
<version>0.0.1-SNAPSHOT</version> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.12.RELEASE</version>
<relativePath />
</parent> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>

  然后是添加项目启动类,对,整个项目除了pom文件,就它最重要(解释一下,注解@SpringBootApplication,为什么说这个类是项目启动类,就是因为有它,整个项目中只有一个类有这个注解,其它都不用这个注解,然后在main方法中,加上SpringApplication.run方法,这个方法、这个类就是整个项目的启动入口)。

package com.demioct;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class Application { public static void main(String[] args) {
SpringApplication.run(Application.class, args);
} }

  再写个controller请求测试一下(注意一下,项目启动类默认与项目中的所有类同级,或者启动类高于其他类,就像下面图片显示的那样。如果有一个com.demioct111.HelloController.java,项目是扫描不到这里的,写n多个请求,那都是n多个404):

package com.demioct.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class HelloController {     @RequestMapping("/hello")
    public String hello() {
        return "Hello demioct";
    }
}

  最后打开浏览器,http://localhost:8080/hello,完成了(悄悄计算了一下刚才的时间,完成上述任务的时间,没有超过两分钟,嘿)

spring boot入门笔记 (一) - 一个简单的说明+一个案例的更多相关文章

  1. spring boot入门笔记(四) - 多环境配置、加载顺序、静态资源映射

    1.多环境配置 先描述下以前的开发流程:从SVN把项目下载到本地,各种修改配置文件,启动成功:完成功能后上传到公司的测试服务器,修改各种配置文件,启动成功:最后到上线的日子里,把新功能中涉及到的文件打 ...

  2. spring boot入门笔记 (三) - banner、热部署、命令行参数

    1.一般项目启动的时候,刚开始都有一个<spring>的标志,如何修改呢?在resources下面添加一个banner.txt就行了,springboot会自动给你加载banner.txt ...

  3. spring boot入门笔记 (二) - application.properties配置文件

    项目最重要的一个东西,用来定义整个项目的一些东西(端口.访问项目的名称.数据源.日志.集成mybatis等框架.静态资源目录.thymeleaf.热部署等),很重要很重要的. #整个项目的端口号,默认 ...

  4. Spring Boot入门教程1、使用Spring Boot构建第一个Web应用程序

    一.前言 什么是Spring Boot?Spring Boot就是一个让你使用Spring构建应用时减少配置的一个框架.约定优于配置,一定程度上提高了开发效率.https://zhuanlan.zhi ...

  5. 161103、Spring Boot 入门

    Spring Boot 入门 spring Boot是Spring社区较新的一个项目.该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring进行入门体验 ...

  6. Spring Boot入门(四):开发Web Api接口常用注解总结

    本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 在程序员的日常工作中,Web开发应该是占比很重的一部分,至少我工作以来,开发的系统基本都是Web端访问的 ...

  7. Spring Boot 入门(五):集成 AOP 进行日志管理

    本篇文章是接着 Spring boot 入门(四):集成 Shiro 实现登陆认证和权限管理写的,按照前面几篇博客的教程,可以搭建一个简单的项目,主要包含了 Pagehelper+MyBatis 分页 ...

  8. Spring boot 入门(四):集成 Shiro 实现登陆认证和权限管理

    本文是接着上篇博客写的:Spring boot 入门(三):SpringBoot 集成结合 AdminLTE(Freemarker),利用 generate 自动生成代码,利用 DataTable 和 ...

  9. Spring boot入门(三):SpringBoot集成结合AdminLTE(Freemarker),利用generate自动生成代码,利用DataTable和PageHelper进行分页显示

    关于SpringBoot和PageHelper,前篇博客已经介绍过Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件,前篇博客大致讲述了S ...

随机推荐

  1. BZOJ 1002--[FJOI2007]轮状病毒(高精度)

    1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 6858  Solved: 3745[Submit][Statu ...

  2. Educational Codeforces Round 26 A B C题

    题目链接 A. Text Volume 题意:计算句子中,每个单词大写字母出现次数最多的那个的出现次数(混不混乱QAQ). 解题思路:注意getchar()就没啥了. #include<cstd ...

  3. 分布式ehcache缓存

    今天在这里了记录一下学习ehcache分布式集群的过程. ehcache的三种最为常用集群方式,分别是 RMI.JGroups 以及 EhCache Server . 这里主要讲一下rmi方式. 1. ...

  4. nginx代理websocket协议

    以下是代码段.location /wsapp/ {     proxy_pass http://wsbackend;     proxy_http_version 1.1;     proxy_set ...

  5. JDK,常见数据结构解读

    一.情有独钟 对数据结构情有独钟,打算慢慢把jdk里的实现都读一遍,发现其中的亮点,持续更新. 二.ArrayList 这应该是我们学习java最早接触的到的数据结构,众所周知,数组在申请了内存之后, ...

  6. Sip协议

    会话初始协议.SIP是IETF标准进程的一部分,它是在诸如SMTP(简单邮件传送协议)和HTTP(超文本传送协议)基础之上建立起来的(请求应答的通讯模式).微信采用了自主研发的SYNC协议,他通过“握 ...

  7. Xshell连接不上虚拟机Linux系统

    以下是我在尝试网上各种办法之后总结的最优解决办法: 1.先在主机上检查虚拟机相关的必要的服务是否都已经启动 2.检查虚拟机系统防火墙是否处于关闭状态 3.检查虚拟机系统的ssh服务是否已经启动 4.检 ...

  8. iOS根据图片url获取尺寸

    可以在UIImage的分类中加入下面的代码,并且引入系统的ImageIO.framework /** 根据图片的url获取尺寸 @param URL url @return CGSize */ + ( ...

  9. (转)MySQL的Grant命令

    [MySQL] - MySQL的Grant命令 来源:http://yingxiong.javaeye.com/blog/451208 本文实例,运行于 MySQL 5.0 及以上版本. MySQL ...

  10. Java之IO(六)FileInputStream和FileOutputStream

    转载请注明源出处:http://www.cnblogs.com/lighten/p/7001458.html 1.前言 前五章按照JDK的类顺序介绍了几种流,第五章讲了Java的文件系统.本章介绍Ja ...