SpringBoot归纳总结(1)

  •  
  • Spring的优缺点

优点:是java企业版的轻量级代替品,无需开发重量级EJB,通过依赖注入和面向切面的编程,实现EJB功能。

缺点:配置是重量级的,Spring用XML配置,很多!Spring2.5引入了基于注解扫描,Spring3.0引入java的配置(全注解方式)代替XML,一种安全可重构配置方式。

所有的配置代表开发的时间损耗。编写配置挤占编写应用程序逻辑时间。

项目依赖管理耗时。在环境搭建时需要考虑哪些库的坐标,而且还需要分析大日与之有关依赖的其他库的坐标,一旦选错了依赖版本,版本不兼容问题就很难受。

  • SpringBoot的特点

对Spring的缺点进行改善和优化,基于约定优于配置的思想,可以让开发人员不必再配置与逻辑业务之间进行思维的切换,全身心投入到逻辑业务代码编写中,提高开发效率,缩减项目周期。

  • 特点:

为基于Spring开发提供更快的入门体验。

开箱即用,没有代码生成,无需XML配置,同时也可以修改默认值来满足特定的需求。

提供了一些大型项目中常见的非公能性特性,如嵌入式服务器(内置Tomcat)、安全、指标、健康监测、外部配置等。

SpringBoot不是对于Spring功能上的增强,而是提供了一种快速使用Spring的方式。

SpringBoot的核心功能

  • 起步依赖

本质上是一个Maven项目的对象模型(Project Object Model POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能),起步依赖就是将具有某种功能的坐标打包到一起,并提供一些默认的功能。

  • 自动配置

SpringBoot的自动配置是一个运行时(更准确的说,是应用程序启动时)的过程,决定Spring配置应该用哪个,不该用哪个,该过程是Spring自动完成的)

 

  1. 搭建SpringBoot环境
  2. 创建Maven工程——使用IDEA创建一个maven工程
  3. 加入web启动依赖
  4. <dependeccies>
    <!--web功能起步依赖>
        <depencency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web<artifactId>
        <depencency>
     <!--热部署配置,失败原因:IDEA中自动编译 Settings-Complier-
     Ctrl+shift+alt+/--Registry--auto)
     >
         <denpency>
             <grouId>org.springframework.boot<groupId>
             <artifactId>spring-boot-devtools<artifactId>
        <denpency>
        
    </depedeccies?            

    创建引导类@SpringBootApplication

  5. 配置application.properties文件
  6. 配置application.yml文件

 

  • springboot配置文件
  • Springboot是基于约定的,所以很多配置都有默认值,如果想要使用自己的配置替换默认值,可以使用application.properties或者application.yml进行配置,Springboot默认会从Resource目录下加载配置文件。
  • application.yml文件配置简介
语法:Key: value
配置对象数据:
key:
key1: value1
key2: value2
或者
key: {key1: value,key2: value2}
或者list集合、数组
key:
- value1
- value2
- value3
key: [value1,value2,value3]
或者对象数据
student:
- name: tom
   age: 18
   adder: sichuan
-name: zhangsan
  age: 17
  adder: chongqing
student: [{name: tom,age: 18,adder: cishuan},{name: zhangsan,age: 17.adder: chongqing}]

 

  • springboot集成
  • SpringBoot整合Mybatis
  • 添加起步依赖
<!--mysql起步依赖-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
 </dependency>   
  • 添加数据库坐标
<!--mysql连接驱动-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connectot-java<artiactId>
</dependency>    

 

  • 添加数据库连接信息application.properties中
#数据库连接信息
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:306/test?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root

#配置mybatis信息
#spring集成Mybatis环境
#pojo别名扫描包
mybatis.type-aliases-package=com.it.domain
#加载Mybatis影射文件
myatis.mapper-locations=classpath:mapper/*Mapper.xml

 

  • 创建user表(数据库中创建)
  • 创建实体bean
private Integer id;
private String username;
private String password;
private String name;
....get set()
toString()

 

  • 编写Mapper(UserMapper.xml)

<mapper namespase="com.it.mapper.UserMapper">
    <select id="queryUserList" resultType="user">
        select * from user
    </select>
</mapper>        

 

  • 配置Mapper映射文件
import java.util.List
@Mapper
puublic interface UserMapper{
    public List<User> queryUserList();
    
}

 

  • 在application.properties中添加mybatis的配置信息

#配置mybatis信息
#spring集成Mybatis环境
#pojo别名扫描包
mybatis.type-aliases-package=com.it.domain
#加载Mybatis影射文件
myatis.mapper-locations=classpath:mapper/*Mapper.xml

 

  • 编写测试Controller

@Controller
public class MybatisController{
    @RequestMapping("/query")
    @ResponseBody
    @Autowired
    private UserMapper userMapper;
    public List<User> queryUserList(){
        List<User> users = userMapper.queryUserList();
        return users;
    }
}

 

  • springBoot集成Junit

<!--springBoot集成JUnit测试的起步依赖-->
<denpency>
    <groupId>org.springframework.boot</groupId>
    <artfactId>spring-boot-starter-test</artfactId>
    <socp>test</socp>
</denpency>    

 

  • 测试

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootMybatisApplication.class)
public class MybatisTest{
    @Autowired
    private UserMapper userMapper;
    
    @Test
    public void test(){
        List<User> users = userMapper.queryUserList();
        System.out.println(users);
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习尚硅谷视频整理的文档 Spring Boot 1 1 Spring Boot入门 4 1.1 简介 4 1.2 微服务(martin fowler发表了一篇文章) 5 1.3 环境约束 7 1.4 第一个Spring Boot项目(jar):HelloWorld 8 1.5 入门案例详解 11 1.5.1 POM文件 11 1.5.2 主程序类,主入口类 12 1.6 使用Spring Initializer向导快速创建Spring Boot 16 2 Spring Boot配置 18 2.1 配置文件 18 2.2 YML语法 19 2.3 YML配置文件值获取 21 2.4 properties配置文件乱码问题 24 2.5 @ConfigurationProperties与@Value的区别 25 2.6 配置@PropertySource、@ImportResource、@Bean 27 2.7 配置文件占位符 30 2.8 Profile多环境支持 31 2.9 配置文件的加载位置 33 2.10 外部配置加载顺序 36 2.11 自动配置原理 37 2.12 @Conditional派生注解 41 3 Spring Boot与日志 42 3.1 日志框架分类和选择 42 3.2 SLF4j使用 43 3.3 其他日志框架统一转换成slf4j+logback 44 3.4 Spring Boot日志使用 45 3.5 Spring Boot默认配置 47 3.6 指定日志文件和日志Profile功能 52 3.7 切换日志框架(不使用SLF4j+LogBack) 54 4 Spring Boot与Web开发 55 4.1 Web开发简介 55 4.2 静态资源映射规则 56 4.3 引入Thymeleaf 60 4.4 Thymeleaf语法 61 4.5 SpringMVC自动配置原理 67 4.6 SpringBoot扩展与全面接管 70 4.7 如何修改SpringBoot的默认配置 72 4.8 【实验】CRUD操作 73 4.8.1 默认访问首页 73 4.8.2 登录页面国际化 74 4.8.3 登录 80 4.8.4 拦截器进行登录检查 81 4.8.5 实验要求(没按要求做,不想改了!) 82 4.8.6 CRUD-员工列表 83 4.8.7 CRUD-员工修改 86 4.8.8 CRUD-员工添加 87 4.8.9 CRUD-员工删除 88 4.9 错误处理原理&错误页面定制 90 4.10 配置嵌入式Servlet容器(springboot 1.50版本) 97 4.10.1 如何定制和修改Servelt容器的相关配置 97 4.10.2 注册servlet三大组件【servlet,filter,listener】 98 4.10.3 替换为其他嵌入式容器 102 4.10.4 嵌入式servlet容器自动配置原理 103 4.10.5 嵌入式servlet容器启动原理 103 4.11 使用外置的Servlet容器 104 4.11.1 步骤 104 4.11.2 原理 107 5 Spring Boot与Docker(虚拟化容器技术) 110 5.1 简介 110 5.2 核心概念 111 5.3 安装Docker 112 5.4 Docker常用命令&操作 113 5.5 安装MySQL示例 114 6 Spring Boot与数据访问 115 6.1 JDBC 115 6.1.1 实现 115 6.1.2 自动配置原理 116 6.2 整合Durid数据源 117 6.3 整合Mybatis 122 6.3.1 注解版 123 6.3.2 配置文件版 124 6.4 整合SpringData JPA 125 6.4.1 SpringData简介 125 6.4.2 整合 126 7 Spring Boot启动配置原理 128 7.1 启动流程(Springboot 1.50版本) 128 7.1.1 创建SpringApplication对象 129 7.1.2 运行run方法 130 7.1.3 编写事件监听机制 132 8 Spring Boot自定义starters 136 8.1 概述 136 8.2 步骤 137 9 更多Springboot整合示例 144 10 Spring Boot与缓存 145 10.1 JSR107缓存规范 145 10.2 Spring的缓存抽象 146 10.2.1 基本概念 146 10.2.2 整合项目 146 10.2.3 CacheEnable注解 148 10.2.4 Cache注解 150 10.3 整合redis 154 10.3.1 在Docker上安装redis 154 10.3.2 Redis的Template 154 10.3.3 整合(百度) 155

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值