Springboot

一、springboot框架

spring(IOC、DI、AOP)

springmvc(mvc架构 属于mvc架构的控制层 ) ----> 使用了spring思想

mybatis (jdbc封装,连接数据库 增删改查)

SSM(spring+springmvc+mybatis) 一堆配置文件

spring.xml---->mybatis.xml---->sqlMapper.xml
springmvc.xml
web.xml
自己配置tomcat

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核心注解

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、定义banner

关于动物的ascii艺术字,自定义Spring Boot 动物 banner下载,各种有意思的banner、ascii图案,还有中文文字banner,作为Spring Boot和终端命令行banner会让项目更有意思。-bootschool.net

5、springboot配置文件

.properties配置文件
key=value
.yml配置文件

使用 : 空格  回车  tab键 进行缩进

有多个配置文件,向激活特定配置文件,实现多个环境的切换

application-dev.yml

application-test.yml

application.yml

spring:
    profiles:
        active: dev

6、springboot 整合 jdbc

1)引入jar包
<!--mysql-->
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
</dependency>
<!--springboot整合jdbc的jar包-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
2)添加mysql连接的配置

application-dev.yml

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/yan9
    username: root
    password: 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)测试

http://localhost:8081/boot1/dept/save?deptName=技术部&loc=beijing

重点知识

1)springmvc的作用

2)springmvc的核心组件

3)springmvc的内部执行流程

4)@RequestBody注解的作用

5)mvc架构模式

6)properties和yml配置文件的区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值