一、java接口
- 接口 关键字:interface
- 接口里面的方法是抽象方法,没有方法体
package com.base.day22;
public interface InterfaceDemo {
public String getName();
}
- 实现一个接口 关键字:implements
- 实现了一个接口,必须要实现接口里面的方法
package com.base.day22;
public class T1 implements InterfaceDemo{
@Override
public String getName() {
// TODO Auto-generated method stub
return "小明";
}
- 继承和接口的区别:一个类只能继承一个父类,但是一个类可以实现多个接口
二、SpringBoot基础
环境搭建
<!-- Inherit defaults from Spring Boot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
</parent>
<modules>
<module>SpringBootBasic</module>
</modules>
<!-- 使得所下载的文件都从阿里巴巴旗下下载而不是从国外下载 -->
<repositories>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<build>
<finalName></finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
<!-- Add typical dependencies for a web application -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--目的:《可选》引入springboot 热启动,每次修改以后,会自动把改动加载,不需要重启服务了-->
<dependency> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
启动
package com.base;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args) {
// TODO Auto-generated method stub
SpringApplication.run(App.class, args);
}
}
-
右键–》run as application 运行正启动类的main方法,就可以启动这个springboot项目。
SpringBoot 自带了 tomcat, 运行这个main方法 的时候,会同时启动tomcat -
@SpringBootApplication申明让spring boot自动给程序进行必要的配置,等价于以默认属性使用 @Configuration,@EnableAutoConfiguration和@ComponentScan
-
@SpringBootApplication其实就是以下三个注解的总和
- @Configuration: 用于定义一个配置类
- @EnableAutoConfiguration :Spring Boot会自动根据你jar包的依赖来自动配置项目。
- @ComponentScan: 告诉Spring 哪个packages 的用注解标识的类 会被spring自动扫描并且装入bean容器。
(原文:https://blog.csdn.net/suxiexingchen/article/details/82021066 )
测试controller
package com.base.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@RequestMapping("hello")//拦截路径:一个方法一个拦截路径
public String t1() {
return "hello SpringBoot";
}
@RequestMapping("test2")
public Map t2() {
//多态
//变量类型是父类,构造方法是子类
Map map=new HashMap();
map.put("key1", "你好");
return map;
}
}
-
@RestController是@ResponseBody和@Controller的组合注解
- @RestController返回json字符串的数据,直接可以编写RESTFul的接口
- @RestController注解的类,不管返回的是json数据还是视图,都会被解析为字符格式返回
-
使用@RequestMapping来映射Request请求与处理器:通过常见的类路径和方法路径结合访问controller方法;使用uri模板