Contents
  1. 1. 参考博客
  2. 2. 优点
    1. 2.1. pom依赖变的更简单
    2. 2.2. 常规需求的配置变的更简单,甚至不需要特别配置
    3. 2.3. 优点明细
  3. 3. 简化配置
  4. 4. 读取配置值
  5. 5. 启动原理
  6. 6. 注意事项(和常规Spring项目不同的地方)

参考博客

优点

pom依赖变的更简单

sb有一些集成jar包(mybatis-spring-boot-starter)

常规需求的配置变的更简单,甚至不需要特别配置

  1. 无需事务控制的特殊配置,申明式注解可以直接使用(依赖jpa的jar包,或者数据源的jar包)
  2. Spring Bean扫描和MVC的Bean扫描配置,直接省略了,在SB启动类里面自动设置了扫描路径
  3. 定时任务的配置,只依赖最简单的Starter.jar,直接使用,无需配置
  4. 数据源的配置,直接配置properties文件即可,不需要写一大堆无聊的DataSource

优点明细

  1. 简化了事务控制的配置
    如果引入了jpa的jar包的话,直接在接口实现类的service方法上面添加 @Transactional,即可实现事务控制

  2. 简化了JPA的配置,除了常规的maven依赖、实体类注解、只需要额外的两行配置实现JPA

    spring.jpa.database-platform= org.hibernate.dialect.MySQL5Dialect
    jpa.hibernate.show-sql= true

简化配置

http://tengj.top/2017/02/28/springbootconfig/

常用配置

# 指定tomcat的端口号
server.port=8091
# 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/ksc_order?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# mybatis配置
mybatis.typeAliasesPackage=org.spring.springboot.domain
mybatis.mapperLocations=classpath:mapper/*.xml

读取配置值

http://tengj.top/2017/02/28/springboot2/

  • 通过@vaue直接读取application.properties里面的值
  • 通过configBean,在bean中设置值,再注入bean读取
  • 也可以指定 test.properties文件,来读取值
  • 参数间在配置文件夹中支持相互引用
    application.properties
    com.dudu.name="嘟嘟MD"
    com.dudu.want="祝大家鸡年大吉吧"
    调用
    @Value("${com.dudu.name}")
    private String name;

启动原理

http://tengj.top/2017/03/09/springboot3/
@SpringBootApplication 包含3个注解

@SpringBootConfiguration(表示该启动类本身是一个配置类)
@ComponentScan(指定Bean Scan的扫描路径,默认就是启动类的路径下的所有包)
@EnableAutoConfiguration(借助import功能,引入相关的IOC框架)

注意事项(和常规Spring项目不同的地方)

  1. 访问路径不同,因为tomcat是以插件的形式嵌入的,所以访问的web路径前缀不需要项目名

    http://localhost:8091/greeting/sayHello
  2. 注意启动类的位置
    默认java Bean的扫描范围是 APP.java类所在路径下的所有包,除非指定

Contents
  1. 1. 参考博客
  2. 2. 优点
    1. 2.1. pom依赖变的更简单
    2. 2.2. 常规需求的配置变的更简单,甚至不需要特别配置
    3. 2.3. 优点明细
  3. 3. 简化配置
  4. 4. 读取配置值
  5. 5. 启动原理
  6. 6. 注意事项(和常规Spring项目不同的地方)