Spring Boot framework desde la entrada hasta la práctica
Conoce SpringBoot
1. Introducción al Spring Boot Framework
- SpringBoot es un marco completamente nuevo en la familia Spring, utilizado para simplificar el proceso de creación y desarrollo de aplicaciones Spring, SpringBoot puede simplificar el proceso de desarrollo del marco Spring MVC + Spring + MyBatis que utilizamos antes
- En el pasado, cuando utilizamos el marco Spring MVC + Spring + MyBatis para el desarrollo, la construcción e integración de los tres marcos principales requería mucho trabajo, como configurar web.xml, configurar Spring, configurar MyBatis, SpringBoot abandonó el engorroso proceso de configuración xml, usando mucho La configuración predeterminada de simplifica nuestro proceso de desarrollo.
- Spring Boot puede ser muy conveniente para crear aplicaciones basadas en el marco de Spring, lo que simplifica la codificación, la configuración, la implementación y la supervisión.
En segundo lugar, las características de SpringBoot
- Capacidad para crear rápidamente aplicaciones basadas en Spring
- Puede usar directamente el método Java Main para iniciar el servidor Tomcat incorporado para ejecutar el programa Spring Boot sin la necesidad de implementar archivos War
- Proporcione un POM de inicio acordado para simplificar la configuración de Maven
- De acuerdo con la configuración de dependencia Maven del proyecto, SpringBoot configura automáticamente Spring, Spring MVC, etc.
- Proporciona funciones como la inspección e inspección del programa.
- Básicamente no use archivos de configuración XML, use la configuración de anotación
3. Cuatro núcleos de Spring Boot
- Configuración automática: para muchas aplicaciones Spring y funciones de aplicación comunes, Spring Boot puede proporcionar automáticamente configuraciones relacionadas.
- Dependencias de inicio: dígale a Spring Boot qué funciones se necesitan y puede introducir las bibliotecas de dependencias necesarias
- Actuador: capacidad de profundizar en el programa Spring Boot en ejecución y comprender la información interna de la aplicación
- Interfaz de línea de comando: esta es una característica opcional de Spring Boot
Primera experiencia SpringBoot
1. El primer programa Spring Boot
-
Crear un proyecto Spring Boot
-
Únase a Spring Boot parent y comience la dependencia
-
Dependencia de los padres
Agregar la dependencia principal de Spring puede simplificar la configuración de Maven del proyecto
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath></relativePath> </parent>
-
Iniciar dependencia
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
-
-
Cree el método principal de la entrada Spring Boot
package springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { //Spring Boot程序->Spring容器->内嵌的tomcat SpringApplication.run(Application.class,args); } }
-
Crear un controlador SpringMCVC
package springboot.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @RequestMapping("/hello") public String hello(){ return "Hello,Spring Boot"; } }
-
Método principal de ejecutar SpringBoot
Dos, análisis del programa SpringBoot
- Después de la
Spring-boot-starter-parent
configuración de dependencia principal de SpringBoot , el proyecto actual es el proyecto SpringBoot - Spring-boot-starter-parent es una dependencia especial de inicio, utilizada para proporcionar dependencias predeterminadas relacionadas con Maven, después de usarla, las dependencias comunes del paquete jar pueden guardar la configuración de la versión
- La anotación @SpringBootApplication es la anotación central del proyecto SpringBoot, la función principal es habilitar la configuración automática de spring
- El método principal se utiliza como punto de entrada para que el proyecto comience a ejecutarse.
- @Controller y @ResponseBody siguen siendo nuestro SpringMVC anterior
Archivo de configuración central de SpringBoot
1. Archivo de configuración de entornos múltiples
- Configurar el entorno de desarrollo.
- spring.profiles.active = dev
- application-dev.properties
- Configurar el entorno de producción.
- spring.profiles.active = producto
- application-product.properties
Segundo, lea el archivo de configuración personalizado
Use anotaciones para leer valores de atributos
- @ Anotación de valor
package springboot.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class ConfigInfoController {
@Value("${boot.name}")
private String name;
@Value("${boot.location}")
private String location;
@RequestMapping("/boot/config")
public @ResponseBody
String config() {
return name + "------" + location;
}
}
- @Propiedades de configuración
package springboot.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import springboot.config.ConfigInfo;
@Controller
public class ConfigController {
@Autowired
private ConfigInfo configInfo;
@RequestMapping("/boot/config")
public @ResponseBody String config(){
return configInfo.getName()+"-----"+configInfo.getLocation();
}
}
Desarrollo SpringMVC bajo SpringBoot
- @Controller: manejar solicitudes HTTP
- @RestController:
@Controller
con@ResponseBody
una combinación de notas
volver cadena de datos o JSON - @GetMapping: combinación de métodos RequestMapping y Get request
- @PostMapping: combinación de métodos RequestMapping y Post request
- @PutMapping: combinación de métodos RequestMapping y Put request
- @DeleteMapping: una combinación de métodos RequestMapping y Delete request
SpringBoot usa JSP
- Configurar dependencias en pom.xml
<!-- 引入SpringBoot内嵌Tomcat对JSP的解析包-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- Servlet依赖的Jar包-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<!-- JSP依赖的JAR包-->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
</dependency>
<!-- jsp标签依赖的jar包-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
</dependencies>
-
La vista de configuración de springMVC en el archivo Application.properties se muestra como JSP
spring.mvc.view.prefix=/ #前缀 spring.mvc.view.suffix=.jsp #后缀
-
Cree un directorio de aplicaciones web en el directorio src / main y cree una nueva página jsp en este directorio
Integrar MyBatis en Spring Boot
-
Configurar dependencias jar relacionadas en pom.xml
<!-- 加载Mybatis整合Springboot--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <!-- MySQL的JDBC驱动包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
-
Configure la ubicación del archivo MyBatis Mapper.xml en el archivo de configuración central de SpringBoot application.properties.
mybatis.mapper-location=classpath:edu/sust/springboot/mapper/*.xml
-
Configure la fuente de datos en el archivo de configuración central de springboot application.properties
spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/springdb?useUnicode=true&characterEncoding=utf8&useSSL=false
4. Agregue la anotación @Mapper a la interfaz Mapper de MyBatis
-