前言 作为程序员,不管是.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 ">
<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的详细内容。