IDAE中新建web项目见:IntelliJ IDEA中新建JAVA WEB项目、maven项目
默认已有一个 maven 的 web 项目:gentle
-------- 改装为springboot项目:
1. 在pom中加上springboot必须的parent 和 web jar包。
代码如下:
代码语言:javascript复制<?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>
<groupId>com</groupId>
<artifactId>gentle</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
2. 书写springboot的主函数所在类 ,即程序入口(程序启动类)
注意此类不能直接放在java 文件夹下,要放在一个包内。我放在gentle包中,否则会提示不建议放在默认包中。
springboot 项目全工程中只能写一个 main 函数。 不能在其它类中定义main 函数,test类中也不可以。
给此类加注解:
代码语言:javascript复制@SpringBootApplication 表示此类为程序入口
代码如下:
代码语言:javascript复制package gentle;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* spring-boot的一些注解
* ps:@SpringBootApplication 表示开启下述 1、2、5
*
* 1.@Configuration 注解是spring去xml配置,开启spring基于java的配置
* @Configuration 类级别的注解, 一般这个注解,我们用来标识main方法所在的类,完成元数据bean的初始化。
* @Bean 一个带有 @Bean 的注解方法将返回一个对象
*
* 2.@ComponentScan 收集自动收集所有的spring组件 搜索beans类级别的注解,自动扫描加载所有的Spring组件包括Bean注入,一般用在main方法所在的类上
*
* 3.@Import导入其他的Configuration类
*
* 4.@ImportResource附加注入一个外置的xml
*
* 5.@EnableAutoConfiguration 和 @SpringBootApplication是类级别的注解,
* 根据maven依赖的jar来自动猜测完成正确的spring的对应配置,只要引入了spring-test-starter-web的依赖,默认会自动配置Spring MVC和tomcat容器
*
* 6.@Component类级别注解,用来标识一个组件,比如我自定了一个filter,则需要此注解标识之后,Spring Boot才会正确识别。
*
* Spring-boot加载配置文件的顺序是
*
* 1. ./config/application.properties
* 2. ./application.properties
* 3. classpath:config/application.properties
* 4. classpath:application.properties
*
* yaml文件里配置项名和bean里的属性名相同
*/
@SpringBootApplication
public class Application {
public static void main(String[] args) {
// SpringApplication application = new SpringApplication(Application.class, "classpath*:/spring/security-*.xml");
SpringApplication application = new SpringApplication(Application.class);
application.setWebEnvironment(true);
application.run(args);
}
}
3. 书写一个测试 Controller , 验证是否可以正常访问工程。
代码语言:javascript复制@RestController 注解相当于 @ResponseBody + @Controller合在一起的作用。
代码语言:javascript复制package gentle.service;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("gentle")
public class First {
@RequestMapping("/first")
private String first(){
return "just say something ... ";
}
}
4. 配置项目端口号为8089:
5.启动项目,在 Application 类中直接右键 run 便可以启动项目。
(我习惯点击红框中三角,选择dubug 启动。)
6. 浏览器访问,url不用写项目名:
OK ,测试通过。