SpringBoot内容聚合

什么是SpringBoot
SpringBoot 是Spring旗下的一款开发框架,他可以让我们创建基于Spring的应用变得更加的方便,
SpringBoot 整合了常用的Spring和第三方的类库,整合后提供带Starter的pom,整合后的项目采用自动配置,如果配置不满足需要,SpringBoot也提供了配置文件 只需简单的修改便可以。
SpringBoot内置了 servlet容器(tomcat,jboss)使得我们的项目启动部署更加的方便 (java -jar xx.jar)
Springboot 提供了企业级应用的健康检测方案

你觉得Springboot有哪些优点(为什么要使用Springboot)
1.快速搭建项目,
2,与主流框架集成无需配置集成.
3.内嵌服务容器.
4.具有应用监控.
5.开发部署方便,后期与云计算平台集成方便(docker).

Springboot 和 Spring有什么区别
引用自官方说法: java在集成spring等框架需要作出大量的配置,开发效率低,繁琐.所以官方提出 spring boot的核心思想:习惯优于配置.可以快速创建开发基于spring框架的项目.或者支持可以不用或很少的spring配置即可.

Springboot的配置文件格式是什么? 有什么区别?
bootsrap.yml bootstrap.properties 一级配置文件,SpringBoot项目启动前会加载此文件
application.yml application.properties 二级配置文件,Springboot项目启动后再初始化的方法中加载

如果了加载bootstrap.yml文件后 将不会再加载application.yml

Springboot 读取配置文件里面的属性 有哪些方式?
可以通过 @Value(“SpringEL表达式”) 来取配置文件中的属性
也可以使用 @Autowired 注入 Environment env 环境对象,通过env.getProperties(“属性名”)来获取属性

Springboot也提供了 类似于 ConfigrationProperty等注解实现自动注入

Springboot 如何理解他的自动装配的
注解 @EnableAutoConfiguration, @Configuration, @ConditionalOnClass 就是自动配置的核心,首先它得是一个配置文件,其次根据类路径下是否有这个类去自动配置。

参考:https://mp.weixin.qq.com/s/gs2zLSH6m9ijO0-pP2sr9Q

你知道哪些Springboot starter (web ( tomcat) devtools mybatis jpa test )
Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成 Spring 及其他技术,而不需要到处找示例代码和依赖包。如你想使用 Spring JPA 访问数据库,只要加入 spring-boot-starter-data-jpa 启动器依赖就能使用了。

Starters包含了许多项目中需要用到的依赖,它们能快速持续的运行,都是一系列得到支持的管理传递性依赖。

列举Springboot 里面常用的注解
@SpringBootApplication SpringBoot项目的启动注解,
内置了3个比较重要的注解 @SpringBootConfigration @EnableAutoConfigration @ComponmentScan
还有web项目中的常用注解:
说Spring系列的

还有SpringCloud种的常用注解:
@EnableEurekaServer
@FeignClient
@EnableZuulProxy 等SpringCloud

举例说明 如何使用Springboot 快速启动一个SSM项目
让我们的maven项目 继承一个父项目 spring-boot-starter-parent 代表这个是一个SpringBoot项目
引入对应的pom依赖 , spring-boot-starter-web (配置好了SpringMVC) mybatis-spring-boot-starter (引入了mybatis)
在application.yml中进行 数据源的配置 mybatis 配置mapper.xml文件的扫描地址
添加启动类 @SpringBootApplication注解代表启动类 通过main方法启动(SpringApplication.run())
热部署如何实现
只要引入 devtools的依赖 就能实现自动部署
lombok 插件 所带的@Data 的作用
@Data注解 可以让我们省略GET SET 方法, 让代码看起更加的简介

在用的时候 我们用的是idea 需要先引入一个 lombok的plugin

然后在项目中 引入 lombok的maven 依赖

如何 根据特定的环境, 选择特定的配置文件
我们在开发过程中,因为 开发环境,和测试环境还有 生成环境,他们所用的服务器地址或者是数据库的地址有可能是不一样,所以 我们在项目的构建过程当中,会为开发、生成、测试等环境都提供一套配置文件,然后根据不同的使用场景来选择哪种配置文件。

举例:
application.yml 主配置文件
application-dev.yml 开发环境
application-test.yml 测试环境
application-prod.yml 生产环境

我们在application.yml 指定这个属性,代表 还会加载application-dev.yml
spring:
profiles:
active: dev
JPA、SpringDataJPA 及 Hibernate的关系
JPA 就是java关于 持久层这一块定义的一系列的接口

Hibernate 实现了jpa的接口

SpringDataJPA 对jpa进行了封装, 让我们使用起来更加简单
举例:比如说我要写一个User表的增删改查, 如果我们用JPA来开发的话,只需要一个接口 UserDao 让它继承
JpaRepository 这样就实现 CRUD 和 分页查询排序。

如果你要做一些复杂查询 可以自定义个方法 在上面使用 @Query 注解 ( JPQL 和 原生的写法)

也可以使用JpaSpecficationExcutor 这个接口,进行规格查询时 要求我们自己封装查询条件,来实现复杂查询
SpringBoot教程参考资料:

http://blog.didispace.com/Spring-Boot%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B/
http://www.cnblogs.com/magicalSam/p/7196340.html

springBoot整合mybatis,这次是没有用到的,可能以后会用到:
    http://www.cnblogs.com/elvinle/p/7999612.html

springBoot Github Demo:
    https://github.com/t-hong/springboot-examples

与流行框架整合的Demo(慕课网,对应有课程的)
    https://github.com/leechenxiang/imooc-springboot-starter

SpringBoot遇到的问题以及解决资料

测试Controller使用MockMVC测试
    http://www.cnblogs.com/xd03122049/p/6001457.html
    http://blog.csdn.net/xiao_xuwen/article/details/52890730
    http://www.cnblogs.com/xiaohunshi/p/5706943.html

springBoot拦截器
    http://blog.csdn.net/catoop/article/details/50501696

SpringBoot拦截器无法注入Bean
    https://my.oschina.net/u/1790105/blog/1490098
    http://blog.csdn.net/mjlfto/article/details/65635135

出现: Could not find acceptable representation原因及解决方法
    http://blog.csdn.net/neosmith/article/details/51557957
    或者是因为返回的JSON数据,而你返回了一个页面(使用RESTCONTROLLER没有注意)

springBoot下使用统一异常处理方法:
    http://www.cnblogs.com/magicalSam/p/7198420.html

springBoot集成Freemarker
    http://ifeve.com/spring-boot-%E9%9B%86%E6%88%90-freemarker-%E8%AF%A6%E8%A7%A3%E6%A1%88%E4%BE%8B/
    http://blog.csdn.net/z69183787/article/details/73850417
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猫A建仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值