前言

作为程序员,不管是.net程序员还是java程序员其实从骨子里都不太喜欢各种配置文件的,记得刚开始学java SSH时动不动就装B,来看看我的配置多不多,又是从.net开始写java的程序员提起各种spring配置文件更是头大,那么Spring Boot诞生了,Spring Boot的诞生只为在当前流行的微服务框架下简化开发,不用再一上来就是各种配置文件了。

老生常谈,先从Hello World写起。本篇基于idea、maven搭建spring boot开发环境。

项目结构

先看下项目大致结构,基本骨架和ssm的项目结构保持相同,不同的是多了一个Application.java类,建议放在default package下。

基于idea+maven创建spring boot项目

1、我创建项目时,spring boot的最新版本是1.5.4

2、使用默认的maven项目创建,不勾选任何骨架。

OK、这样一个默认的maven项目就起来了,当然,当前还不叫一个spring boot程序,打开pom.xml,增加spring boot需要的依赖包。最主要的就是spring-boot-starter-parent、

spring-boot-start-web。只需两个依赖就能创建一个spring mvc程序。 是不是很happy。

<?xml version="1.0" encoding="UTF-8"?>
<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><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.4.RELEASE</version></parent><groupId>com.autohome</groupId><artifactId>springbootdemo</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>springbootdemo</name><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies></project>

  

3、也可以用Spring Initializer骨架创建

基于Spring Initializer创建spring boot项目更便捷,会直接让你选择你需要的模块,比如AOP、Web、JPA之类。不过也看到了,这里依赖https://start.spring.io。我创建时提示我连不上服务器,直接看不到下一步的界面了,so sorry。

Spring Boot Hello World

User.java

public class User {private Integer id;private String name;private String address;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}
}

UserController.java

package com.autohome.controller;import com.autohome.model.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
@RequestMapping("/user")
public class UserController {@ResponseBody@RequestMapping("/detail")public  User detail(Integer id){User user=new User();user.setId(id);user.setName("zhangsan");user.setAddress("china");return user;}}

 Application.java

这里用到了三个注解属性:

SpringBootApplication:它是Configuration、ComponentScan、EnableAutoConfiguration三个注解集合。 也就是说使用@SpringBootApplication(scanBasePackages = "com.autohome") 就可以替代前面三个注解,算是spring语法糖。

ComponentScan:会自动扫描指定包下含有注解属性的类,比如@Service、@Controller、@Repository。

EnableAutoConfiguration:能够自动配置上下文,试图猜测和配置你想要的类。

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;/*** Created by zhangfei on 2017/6/22.*/@SpringBootApplication
@ComponentScan("com.autohome")
@EnableAutoConfiguration
public class Application {public static void main(String[] args){System.out.println("server is running at 8080....");SpringApplication.run(Application.class,args);}
}

  

经过以上几句代码,右键运行Application.java,看控制台提示

浏览器输入:http://localhost:8080/user/detail?id=1

浏览器输出: {"id":1,"name":"zhangsan","address":"china"}

spring boot(一):Hello World相关推荐

  1. spring boot项目 中止运行 最常用的几种方法

    spring boot项目 中止运行 最常用的几种方法: 1. 调用接口,停止应用上下文 @RestController public class ShutdownController impleme ...

  2. html+spring boot简单的ajax数据传输实现

    本篇讲解在前后端不分离情况下的html+spring boot的项目数据传输实现 首先,后台我写了三个接口 package com.demo.ajax.controller;import com.de ...

  3. Spring Boot整合Spring Data JPA操作数据

    一. Sping Data JPA 简介 Spring Data JPA 是 Spring 基于 ORM 框架.JPA 规范的基础上封装的一套 JPA 应用框架,底层使用了 Hibernate 的 J ...

  4. SpringBoot (八) :Spring Boot多数据源(JdbcTemplate)配置与使用

    什么是JdbcTemplate 为了使 JDBC 更加易于使用,Spring 在 JDBCAPI 上定义了一个抽象层, 以此建立一个JDBC存取框架. 作为 SpringJDBC 框架的核心, JDB ...

  5. 使用最新版(2020)IntelliJ IDEA 新建 Spring Boot 2.0 项目

    使用最新版(2020)IntelliJ IDEA 新建 Spring Boot 2.0 项目 一:创建项目,并添加相应依赖 新建Project,并指定Project为Spring Initializr ...

  6. 狂神Spring Boot 员工管理系统 超详细完整实现教程(小白轻松上手~)

    [SpringBoot-web系列]前文: SpringBoot-web开发(一): 静态资源的导入(源码分析) SpringBoot-web开发(二): 页面和图标定制(源码分析) SpringBo ...

  7. [JAVA EE]Spring Boot 控制层:参数传递方法

    项目需要参照本人java ee系列前文建立,请读者自行前往本人主页查看. 当然,您自己创建一个项目也是可以的. bean包下的Student.java package com.example.demo ...

  8. spring boot中的日志入门

    日志通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节.但是,这丝毫不影响它在任何一个系统中的重要地位. 报警系统与日志系统的关系 为了保证服务的高可用,发现问题一定要及时,定位 ...

  9. spring boot整合spring security笔记

    最近自己做了一个小项目,正在进行springboot和spring Security的整合,有一丢丢的感悟,在这里分享一下: 首先,spring boot整合spring security最好是使用T ...

  10. spring boot 文件上传工具类(bug 已修改)

    以前的文件上传都是之前前辈写的,现在自己来写一个,大家可以看看,有什么问题可以在评论中提出来. 写的这个文件上传是在spring boot 2.0中测试的,测试了,可以正常上传,下面贴代码 第一步:引 ...

最新文章

  1. 上传图片动态预览(兼容主流浏览器)
  2. docker harbor 域名_超详细的搭建docker私服Harbor教程
  3. 文件、文件夹操作(I)
  4. SAP License:SAP Business One系统功能
  5. ps画画模糊笔刷_如何用笔刷做出大神级效果?1000多款PS插画笔刷,简直就是你想要的神器...
  6. 函数闭包的方式实现lua面向对象
  7. 计算机原理课 如何在中小学课堂中变成有趣,在课堂中如何发挥电教辅助教学优势...
  8. RabbitMQ之路由选择
  9. 群晖NAS设备安装和基础操作详细流程(例:DS920+)
  10. 微服务网关Gateway和搭建
  11. 内网渗透测试:隐藏通讯隧道技术
  12. 34. OP-TEE中system call的实现
  13. C51单片机烧录器使用(USB转TTL)
  14. MySQL5.7修改密码问题解决方案
  15. 在Java中中文需要用双引号吗_Java语言支持Unicode,自然支持中文,所以Java中可以使用中文的双引号、单引号、分号代替英文的双引号、单引号、分号。...
  16. 使用mvn命令时出现Project ‘xx‘ is duplicated in the reactor
  17. 看了这4点,shopee店铺出单从此变简单
  18. 【自动化】火车头采集器
  19. 投资人不得不了解的量子计算最新行情
  20. CPU漏洞修复工具下载,专门针对“Meltdown”(融化)和“Spectre”(幽灵)两组CPU漏洞,360安全卫士国内首发免疫工具

热门文章

  1. html大学生活主题班会,我的大学生活主题班会策划书
  2. php new static,PHP中new static()与new self()的区别异同分析
  3. idea 自动导包_idea万能快捷键,你不知道的17个实用技巧!!!
  4. 设计模式与设计原则 —— 一句话
  5. [Spring Boot核心功能]1. SpringApplication 启动引导类(1)
  6. [设计模式-行为型]中介者模式(Mediator)
  7. Weblogic Server 的下载,安装配置与部署
  8. 怎么使用计算机的移动与复制,Excel移动和公式的复制
  9. 百度地图设置显示定位服务器,百度地图后台持续定位
  10. 古剑2计算机中丢失,小编研习win7系统玩古剑奇谭2提示计算机中丢失Vcomp100.dl的图文方法...