前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot

SpringBoot

原创
作者头像
用户7411014
修改2020-06-03 14:44:46
5410
修改2020-06-03 14:44:46
举报
文章被收录于专栏:Spring BootSpring Boot

项目业务初步实现及测试

@Component是Spring中用于描述Bean类的一个注解。当此对象由Spring创建和管理时,默认会将对象存储到池(Bean池)中。

javabean简单的讲就是2113实体类,用来封5261装对象,4102这个类里面全1653部都是属性内值,和get,set方法

@SpringBootTest 注解用于告诉spring框架,此测试类交给spring管理。

@Autowired注解描述属性时,用于告诉spring框架要为此属性注入一个值

@Scope 是Spring中用于定义Bean对象作用域的一个注解,其常用的值有singleton(整个内存有一份Bean实例,此实例何时创建与类的延迟加载特性配置有关,此实例创建以后,生命周期会由spring框架管理),prototype(每次获取都会创建新实例,此实例会在需要时创建与lazy特性无关,这个实例创建以后,不会交给spring管理,spring可以对其初始化,但不负责销毁。)等。

@Lazy注解用于描述类,其目的是告诉spring框架此类支持延迟加载,通常会配合单例作用域使用。

@PostConstruct 注解用于描述bean对象生命周期方法中的初始化方法,此方法会在对象的构造方法之后执行。

@PreDestroy 注解用于描述Bean对象生命周期方法中的销毁方法,此方法会在对象销毁之前执行(当作用域为prototype时,此方法不会执行)。

项目业务增强实现及测试

@Autowired用于描述类中属性或相关方法。spring首先要检测bean容器中是否有与属性或方法参数类型相匹配的对象,假如有并且只有一个则直接注入。其次,假如检测到有多个,还会按照@Autowired描述的属性或方法参数名查找是否有名字匹配的对象,有则直接注入,没有则抛出异常。最后,假如我们有明确要求,必须要注入类型为指定类型,名字为指定名字的对象还可以使用@Qualifier注解对其属性或参数进行描述(此注解必须配合@Autowired注解使用)。


Spring Boot 整合连接池

公共的接口:javax.sql.DataSource

常见的连接池有DBCP、C3P0,DRUID,HikariCP等

用户通过DataSource对象的getConnection()方法,获取一个连接。假如池中有连接,则直接将连接返回给用户。假如池中没有连接,则会调用Dirver(驱动,由数据库厂商进行实现)对象的connect方法从数据库获取,拿到连接以后,可以将连接在池中放一份,然后将连接返回给调用方。

数据初始化

第一步:登录mysql > 第二步:设置控制台编码(MySql客户端)方式 > 第三步:执行goods.sql文件

整合HikariCP连接池

HiKariCP号称是目前世界上最快的连接池,springboot工程默认推荐使用HiKariCP连接池

第一步:添加依赖。

pom.xml文件中会自动添加如下两个依赖配置:

1.mysql数据库驱动依赖。

2.spring对象jdbc支持(此时会默认帮我们下载HiKariCP连接池)。

第二步:配置连接池

application.properties文件的配置

第三步:单元测试(测试包中编写)


Spring Boot 整合MyBatis框架

@Mapper是由MyBatis框架中定义的一个描述数据层接口的的注解(所有的注解只起到一个描述性的作用),用于告诉Spring框架此接口的实现由mybatis创建,并将其实现类对象存储到spring容器.

@Delete("delete from tb_goods where id=#{id}") int deleteById(Integer id);

业务进阶分析及实现

MyBatis框架中定义SQL映射的方式有两种:SQL映射定义在我们的xml映射文件中或借助注解将其声明在接口方法上。

在GoodsDao中,定义删除方法,@Delete("delete from tb_goods where id=#{id}") int deleteById(Integer id);

xml映射文件中<mapper namespace="com.cy.pj.goods.dao.GoodsDao"><delete></></>

application.properties文件中mybatis.mapper-locations=classpath:/mapper/*/*.xml


Spring Boot整合SpringMVC应用

职责为:

  • 视图(View) - UI设计人员进行图形界面设计,负责实现与用户交互。
  • 控制器(Controller)- 负责获取请求,处理请求,响应结果。
  • 模型(Model) - 实现业务逻辑,数据逻辑实现。

核心组件分析:

  • DispatcherServlet :前端控制器, 处理请求的入口。
  • HandlerMapping:映射器对象, 用于管理url与对应controller的映射关系。
  • Interceptors:拦截器,实现请求响应的共性处理。
  • Controller:后端控制器-handler, 负责处理请求的控制逻辑。
  • ViewResolver:视图解析器,解析对应的视图关系(前缀+viewname+后缀)。


@Configuration注解

该类等价与XML中配置beans,相当于Ioc容器,它的某个方法头上如果注册了@Bean,就会作为这

个Spring容器中的Bean,与xml中配置的bean意思-样。

定义一个MainConfig,用@Configuration注解,那MainConfig相当于xml里的beans,里面用

@Bean注解的和xml里定义的bean等价,用<context.component- scanbase package="

XXX" /> 扫描该类,最终我们可以在程序里用@ AutoWired或@Resource注解取得用@Bean注解的

bean,和用xml先配置bean然后在程序里自动注入-样。目的是减少xml里配置。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目业务初步实现及测试
  • 项目业务增强实现及测试
  • Spring Boot 整合连接池
    • 数据初始化
      • 整合HikariCP连接池
        • 业务进阶分析及实现
    • Spring Boot 整合MyBatis框架
    • Spring Boot整合SpringMVC应用
    相关产品与服务
    对象存储
    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档