康乐县网站建设,中国现任领导名单简介,北京英文网站建设的原则,在深圳找工作哪个网站好目录 一、springboot框架
1、什么是springboot
2、Spring Boot的主要优点
3、springboot核心注解
4、定义banner#xff08;springboot的logo#xff09;
5、springboot配置文件
6、springboot 整合 jdbc
二、面试题
1#xff09;springmvc的作用
编辑
2#x…目录 一、springboot框架
1、什么是springboot
2、Spring Boot的主要优点
3、springboot核心注解
4、定义bannerspringboot的logo
5、springboot配置文件
6、springboot 整合 jdbc
二、面试题
1springmvc的作用
编辑
2springmvc的核心组件
3springmvc的内部执行流程
4RequestBody注解的作用
5mvc架构模式
6properties和yml配置文件的区别 一、springboot框架
springIOC、DI、AOP springmvcmvc架构 属于mvc架构的控制层 ---- 使用了spring思想 mybatis jdbc封装连接数据库 增删改查 SSMspringspringmvcmybatis 一堆配置文件
spring.xml----mybatis.xml----sqlMapper.xml
springmvc.xml
web.xml
自己配置tomca
1、什么是springboot
其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置从而使开发人员不再需要定义样板化的配置。 Spring Boot 以约定大于配置的核心思想默认帮我们进行了很多设置多数 Spring Boot 应用只需要很少的 Spring 配置。同时它集成了大量常用的第三方库配置例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等Spring Boot 应用中这些第三方库几乎可以零配置的开箱即用。
2、Spring Boot的主要优点
Create stand-alone Spring applications 创建独立Spring应用
Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files) 内嵌web服务器
Provide opinionated starter dependencies to simplify your build configuration 自动starter依赖简化构建配置
Automatically configure Spring and 3rd party libraries whenever possible 自动配置Spring以及第三方功能
Provide production-ready features such as metrics, health checks, and externalized configuration 提供生产级别的监控、健康检查及外部化配置
Absolutely no code generation and no requirement for XML configuration 无代码生成、无需编写XML
SpringBoot是整合Spring技术栈的一站式框架SpringBoot是简化Spring技术栈的快速开发脚手架
3、springboot核心注解
SpringBootApplication 是springboot项目的核心注解 是一个组合注解 底层包含很多子注解 Target({ElementType.TYPE}) 当前注解使用的位置类上方法上参数上 Retention(RetentionPolicy.RUNTIME) 保留策略 决定注解的生命周期 编译前 运行前 运行期间 Documented 文档注解 Inherited 表示当前注解可以被继承 SpringBootConfiguration 创建IOC容器 Configuration 创建IOC容器 EnableAutoConfiguration springboot自动装配注解最核心注解 AutoConfigurationPackage Import({AutoConfigurationImportSelector.class}) ComponentScan 定义组件扫描的包默认扫描当前项目启动类所在的包及其子包
✅ SpringBootApplication 注解详解
属性/子注解说明作用是 Spring Boot 项目的核心注解用于标记项目的启动类主类启用自动配置、组件扫描等功能。使用位置通常标注在启动类上即包含 main 方法的类是否组合注解是是一个由多个注解组成的“合成注解” 组成 SpringBootApplication 的核心子注解
子注解功能说明SpringBootConfiguration创建IOC容器表示该类是一个配置类底层继承自 Configuration可以定义 BeanConfiguration创建IOC容器告诉 Spring 容器这是一个 Java 配置类相当于 XML 配置文件的作用EnableAutoConfigurationSpring Boot 自动装配的核心注解会根据 classpath 中的依赖自动配置 BeanAutoConfigurationPackage将主类所在包及其子包中的 Bean 自动注册到 Spring 容器中内部通过 Import 实现ComponentScan自动扫描并注册 Bean默认扫描当前主类所在的包及其子包Import({AutoConfigurationImportSelector.class})导入自动配置类的选择器决定了哪些自动配置类需要被加载 元注解Meta-Annotations
元注解含义Target({ElementType.TYPE})表示该注解只能用于 类级别 上不能用在方法或参数上Retention(RetentionPolicy.RUNTIME)表示该注解在运行时依然有效可以通过反射读取Documented表示该注解会被包含在 Javadoc 中Inherited表示该注解可以被子类继承
package com.hl.springboot1;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/*
SpringBootApplication
是springboot项目的核心注解
是一个组合注解
底层包含很多子注解
Target({ElementType.TYPE}) 当前注解使用的位置类上方法上参数上
Retention(RetentionPolicy.RUNTIME) 保留策略 决定注解的生命周期 编译前 运行前 运行期间
Documented 文档注解
Inherited 表示当前注解可以被继承
SpringBootConfiguration 创建IOC容器
Configuration 创建IOC容器
EnableAutoConfiguration springboot自动装配注解最核心注解
AutoConfigurationPackage
Import({AutoConfigurationImportSelector.class})
ComponentScan 定义组件扫描的包默认扫描当前项目启动类所在的包及其子包
*/
SpringBootApplication
public class Springboot1Application {
public static void main(String[] args) {
SpringApplication.run(Springboot1Application.class, args);
}
}4、定义bannerspringboot的logo
关于动物的ascii艺术字自定义Spring Boot 动物 banner下载各种有意思的banner、ascii图案还有中文文字banner作为Spring Boot和终端命令行banner会让项目更有意思。-bootschool.net 5、springboot配置文件
.properties配置文件
keyvalue
.yml配置文件
使用 空格 回车 tab键 进行缩
有多个配置文件向激活特定配置文件实现多个环境的切换 application-dev.yml application-test.yml application.yml
spring:profiles:active: dev
6、springboot 整合 jdbc
1引入jar包
!--mysql--
dependency
groupIdcom.mysql/groupId
artifactIdmysql-connector-j/artifactId
/dependency
!--springboot整合jdbc的jar包--
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter-jdbc/artifactId
/dependenc
2添加mysql连接的配置
application-dev.yml
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/yan9username: rootpassword: 123456
3补全包结构搭建web层和dao层省略service
javaBean类
Data
NoArgsConstructor
AllArgsConstructor
public class Dept {
private int deptId;
private String deptName;
private String loc;
}
web层
RestController
RequestMapping(/dept)
public class DeptController {
//调用dao层
Autowired
private DeptDao deptDao;
RequestMapping(/save)
public int save(Dept dept) {
return deptDao.save(dept);
}
}
dao层
public interface DeptDao {
public int save(Dept dept);
}
Repository
public class DeptDaoImpl implements DeptDao{
Autowired
private JdbcTemplate jdbcTemplate;
Override
public int save(Dept dept) {
//调用jdbcTemplate封装好的方法执行新增
String sql insert into dept(dept_name,loc) values(?,?);
//update 执行增删改
int num jdbcTemplate.update(sql,dept.getDeptName(),dept.getLoc());
return num;
}
}4测试 二、面试题
1springmvc的作用
Spring MVC 是 Spring 框架中的一个核心模块专门用于构建 基于 Java 的 Web 应用程序。它遵循 MVCModel-View-Controller设计模式将应用程序分为模型Model、视图View和控制器Controller三层从而实现代码的解耦和高效协作。 springmvc实现的功能
springmvc接收请求springmvc接收数据返回数据给前端页面跳转携带数据
Spring MVC 的核心作用
(1) 处理 HTTP 请求和响应 作用接收客户端浏览器、移动端等的 HTTP 请求解析参数并返回数据如 JSON、HTML。 关键组件 DispatcherServlet前端控制器统一分发请求到对应的 Controller。 Controller / RestController处理具体业务逻辑的控制器。 (2) 实现 MVC 分层架构
层级职责Spring MVC 对应实现Model封装业务数据和状态如数据库查询结果实体类Entity、DTO、Service 层返回的对象View渲染数据如生成 HTML、JSON、XMLJSP、Thymeleaf、FreeMarker 或直接返回 JSON前后端分离Controller接收请求调用业务逻辑返回模型和视图Controller 或 RestController 类中的方法
(3) 提供灵活的请求映射和参数绑定 URL 路由通过 RequestMapping、GetMapping 等注解将请求映射到方法。 参数解析 RequestParam获取 URL 查询参数。 PathVariable获取 RESTful 风格的路径参数。 RequestBody解析 JSON/XML 请求体。 ModelAttribute绑定表单数据到对象。
(4) 支持多种视图技术 服务端渲染JSP、Thymeleaf、FreeMarker。 前后端分离直接返回 JSON/XML通过 ResponseBody 或 RestController。
(5) 提供拦截器和全局异常处理 拦截器Interceptor在请求处理前后插入逻辑如权限校验、日志记录。 全局异常处理通过 ControllerAdvice 统一捕获异常返回友好错误信息。
(6) 集成其他 Spring 功能 依赖注入DI通过 Autowired 管理组件依赖。 事务管理结合 Transactional 实现数据库事务控制。 AOP实现日志、权限等横切关注点。 Spring MVC 的工作流程 用户发起请求 → 请求到达 DispatcherServlet前端控制器。 DispatcherServlet 查询处理器映射HandlerMapping→ 找到对应的 Controller 方法。 调用 Controller → 执行业务逻辑可能调用 Service 和 Repository 层。 返回模型和视图 如果返回 String如 successViewResolver 会解析为具体的视图如 success.jsp。 如果返回 ResponseBody 或 RestController直接序列化为 JSON/XML。 渲染响应 → 返回给客户端。 2springmvc的核心组件
1、DispatcherServlet 前端控制器 2、HandlerMapping 处理器映射器 3、HandlerAdapter 处理器适配器 4、Handler 处理器 5、ViewResolver 视图解析器组件
3springmvc的内部执行流程 1、浏览器发起请求 http://localhost:8080/user/getById?id1 2、浏览器解析地址http:// localhost 8080 3、定位到硬件服务器 ip 和 软件服务器 8080tomcat应用 4、通过8080-----部署的项目 5、前端控制器接收请求 解析url路径得到资源路径 /user/getById 6、前端控制器 通过调用 处理器映射器查询 handler是否存在 7、如果路径存在返回路径的执行链给前端控制器。如果不存在返回404。 执行链包含了目标方法前的一系列过滤器和拦截器 目标方法路径 及后置的过滤器和拦截器。 8、前端控制器 调用处理器适配器 请求执行handler目标方法 9、处理器适配器封装参数到目标方法的参数中解析httpServletRequest 调用 request.getParameter方法 10、执行目标handler目标方法 目标handler响应结果给处理器适配器数据和视图名 11、处理器是配置返回modelandview给前端控制器 12、前端控制器请求视图解析器 拼接前缀路径和后缀路径得到完整的视图名 13、前端控制器将model中的数据在指定的视图页面上进行渲染 14、响应结果给前端。
4RequestBody注解的作用
RequestBody 是 Spring MVC 中用于 处理 HTTP 请求体数据 的核心注解主要作用是将请求体中的内容如 JSON、XML自动绑定到 Java 对象
核心作用将 HTTP 请求体JSON/XML自动反序列化为 Java 对象。
5mvc架构模式
MVC 架构 model 业务层、view 视图层、controller控制层 view 视图层用户交互 html、css、js、vue、小程序 controller 控制层 接收前端请求、接收前端数据、返回数据给前端 spring webmvc web包 model 业务层 业务操作 service、dao、pojo
6properties和yml配置文件的区别
.properties配置文件
keyvalue
.yml配置文件
使用 空格 回车 tab键 进行缩
有多个配置文件向激活特定配置文件实现多个环境的切换 application-dev.yml application-test.yml application.yml
spring:profiles:active: dev