SpringBoot学习01——初识
一、初识SpringBoot
- SpringBoot的定义
Spring Boot是伴随着Spring4.0共同诞生的,它的目的就是简化spring的配置及开发,并协助开发人员可以整体管理应用程序的配置而不再像以前那样需要做大量的配置工作,它提供了很多开发组件,并且内嵌了web应用容器,如tomcat和Jetty等。其目的便是使我们的开发变得简化并且能大幅度提高开发人员的开发效率,为了简化Spring功能的配置我们可以引入或启动我们需要的Spring功能。这样做的好处就是避免开发人员过多的对框架的关注,而把更多的精力与时间放在系统的业务逻辑代码中。
- SpringBoot的作用
Spring Boot框架,其功能非常简单,便是帮助我们实现自动配置。我们都知道Spring Boot框架的核心是自动配置。只要有相应的jar包,Spring就会帮助我们实现自动配置,而无需像以前我们使用spring框架一样要做很多配置。当默认配置不能满足我们要求的时候,我们能够用自己的配置来替换这些自动的配置类。此外,上面我们也提到Spring Boot内嵌了web应用容器,除此之外还集成了系统监控等功能,这些都可以帮助我们快速搭建企业级的应用程序并使用。
- SpringBoot的核心功能
- 可以不依赖tomcat等外部容器来独立运行的web项目,springboot的优点是能够以jar包的形式运行。
- 嵌入式的Servlet容器:我们不需要像以前那边先打个war包,然后再运行,在springboot看来这些都是多余的,我们可以选择他内嵌的tomcat、Jetty或者Undertow等容器来直接运行。
- 使pom文件配置更简化:我们只需要在 pom 文件中添加starter-web 依赖即可,无需像以前一样引入很多依赖而造成容易漏掉。
- 能够生产环境中直接使用性能指标、健康检查和应用信息等。
- springboot不需要任何xml文件配置而能实现所有的spring配置。
二、IDEA构建一个简单的SpringBoot项目
- File——>New——>Project…——>Spring Initializr
- 根据自己的需要配置Name、Java…
- Next,勾选Web下Spring Web,项目构建时自动在pom.xml文件中自动添加此依赖,Finish!
项目介绍
Spring Boot 的基础结构共三个文件:
src/main/java
程序开发以及主程序入口src/main/resources
配置文件src/test/java
测试程序
同时,Spring Boot项目的目录结构应如下:
com
+- example
+- springboot
+- Application.java
|
+- model/entity
| +- Customer.java
| +- CustomerRepository.java
|
+- service
| +- CustomerService.java
|
+- controller
| +- CustomerController.java
|
- Application.java 建议放到根目录下面,主要用于做一些框架配置
- model /entity目录主要用于实体与数据访问层(Repository)
- service 层主要是业务类代码
- controller 负责页面访问控制
此处遵循SpringMVC开发原则,如下图:
三、编写一个Controller
/**
* @Auther: 张淇囿
* @Date: 2021/04/13/15:25
*/
@RestController
public class helloController {
@GetMapping(value = "/hello")
public String hello(@RequestParam String name){
return "Hello!" + name;
}
}
四、注解
①RestController/Controller/ResponseBody
@RestController
:等同于@Controller
和@ResponseBody
,从Spring 4.0以后产生的,用来将json/xml数据发送到前台页面,而不是返回视图页面。
@Controller
:加在类上面的注解,使得类里面的每个方法都返回一个试图页面。
@ResponseBody
:加在类上面的注解,使得类里面的每个方法都将json/xml返回数据加返回到前台页面中。
代码实例:
@Controller
public class HelloController {
@GetMapping(value="/hello")
@ResponseBody
public String say(){//返回json 数据
return "gril";
}
@GetMapping(value="/hello1")
public String say1(){//返回视图
return "sys/index1";
}
}
②SpringBootApplication
@SpringBootApplication
:申明让spring boot自动给程序进行必要的配置,这个配置等同于:@Configuration
,@EnableAutoConfiguration
和 @ComponentScan
三个配置。
五、配置文件
applicationproperties/yml
resources下通常会默认生成一个application.properties文件,这个文件包含了SpringBoot项目的全局配置文件。里面的配置项通常是这样的:
server.port = 8080
在这个文件里我们可以添加框架支持的配置项,比如项目端口号、JDBC连接的数据源、日志级别等等。
现在比较流行的是将properties文件改为yml文件。yml文件的格式yaml是这样的:
server:
port:8080
yml和properties的作用是一样的。而yml的好处是显而易见的——更易写易读。