这个不涉及的前端页面,不会跳转页面。在浏览器访问时仅显示返回的内容。
再说之前先列出两个参考IDEA下从零开始搭建SpringBoot工程和SpringBoot入门系列:第一篇 Hello World,第二篇的这个博主写了一系列的,不过由于用的eclipse只做参考。
首先File-new-project;
选择maven,然后中上那里记得打钩。然后点next,groupID 和artifactId自己随便输入
点next,输入文件名,点击finish。这样一个maven就创建好了。
然后在pom.xml进行配置,
<!-- spring boot-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
</parent>
<dependencies>
<!-- 引入Web模块 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 指定项目java编译版本 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
网上能找到的例子里很多main方法和请求是在同一个实体类里的,类似下面这种。访问地址是localhost:8080/
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Example.class, args);
}
}
当时的想法是如果启动的main和需要访问的url不在同一个类里呢,要怎么处理呢
首先定义一个application类,也就是启动的main
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
/**
* Created by jianbao on 2017/6/7.
*/
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class,args);
}
}
然后是controller层。新建了一个HelloController。这里的两个注解和最上面那个Example是一样的。
@EnableAutoConfiguration 用于自动配置。简单的说,它会根据你的pom配置(实际上应该是根据具体的依赖)来判断这是一个什么应用,并创建相应的环境
@RestController相当于@ResponseBody + @Controller合在一起的作用
@RestController
public class HelloController {
@RequestMapping("/say")
String home() {
System.out.println("jinru");
return "Hello World!";
}
@RequestMapping("/hello/{name}")
//方法里加上@PathVariable可以读出参数
String hello(@PathVariable String name){
return "hello"+name;
}
}
基本上这样一个程序就可以运行起来了,在main方法那里运行。
这样即使main和controller不在一起,也可以访问。然后通过浏览器访问localhost:8080/say或者localhost:8080/hello/name.