学习SpringBoot简单笔记

一. SpringBoot介绍

Spring Boot是由Pivotal 团队提供的全新框架,其设计目的是用来简化Spring应用的创建、运行、调试、部署等。使用Spring Boot可以做到专注Spring应用的开发,而无需过多关注XML的配置。
Spring Boot使用"习惯优于配置"的理念,简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题。使用Spring Boot可以不用或者只需要很少的Spring配置就可以让企业项目快速运行起来。

1. SpringBoot解决的SSM问题

  1. 在项目初始化时,需要编写/copy大量的初始化模板配置,才能继续后续的研发.
  2. 后期SSM项目的xml文件量非常的大,维护也是需要成本.
  3. 传统的SSM项目,导入大量的插件.
  4. SSM项目部署很麻烦.

2. SpringBoot的好处.

  1. SpringBoot不需要模板的话的配置.
  2. SpringBoot不推荐编写xml文件,推荐将配置信息全部编写在.java文件.SpringBoot已经完成了大量的配置,只需要在.java中编写一些自定义配置即可.
  3. SpringBoot不需要你导入大量的插件,只需要导入指定的依赖即可,自动帮引入需要的插件.
  4. SpringBoot默认即支持多环境配置.

二. SpringBoot的启动类.

启动类上的注解.

  1. @SpringBootApplication注解是一个组合注解,包括
    @SpringBootConfiguration -> 配置类.
    @EnableAutoConfiguration -> 自动装配.
    @ComponentScan -> 扫描注解.

  2. @SpringBootConfiguration
    @SpringBootConfiguration注解本质就是一个@Configuration
    @Configuration是用来编写配置类的注解.
    比如

     xml
     <beans>
    		 <bean id="user" class="com.pojo.User" />
    </beans>
    
    
    @Configuration    // <beans>
    public class TestConfig {
       @Bean
       public User user(){
           return new User();   // 返回的User对象,就会被放到Spring容器中.
       }
    }
    
  3. @EnableAutoConfiguration
    开启自动装配的注解.
    Spring工厂加载机制:
    SpringFactoriesLoader获取META-INF/spring.factories中的全部Configuration类.
    SpringFactoriesLoader会以for循环的方式,一个一个的装配Configuration类.

    自动装配的好处:
    导入依赖一个之后,不需要自己编写大量的配置就可以直接使用.
    自动装配的坏处:
    导入指定的starter依赖之后,需要编写上他要求必须书写的配置信息.
    如果不需要摸一个自动装配,可以在启动类中将其排除掉.
    @SpringBootApplication(exclude = xxxx.class)

  4. @ComponentScan
    扫描注解的.
    <context:component-scan basePackage=“com.xxxx” />
    启动类中的注解默认会扫描当前启动类所在包,及其子包中的全部spring注解.
    如果将类写在了其他的包下,可以通过再启动类中单独添加 @ComponentScan去扫描指定的包.

三. SpringBoot的配置文件.

1. 配置文件的格式.

推荐采用yml文件的方式编写配置信息.

  1. 相比properties文件,yml更容易维护配置信息.自动帮分门别类.
  2. 相比properties文件,yml文件更轻量一些.

yml相对的缺点.

  1. yml文件时根据换行和缩进指定具体的编写信息的. (如果配置不规范,同事两行泪)
  2. yml文件在书写具体内容时,一定要在: 后添加一个空格后在编写

2. 多环境配置.

SpringBoot项目的命令启动方式
在当前项目的pom.xml 目录下 执行 mvn spring-boot:run

mvn spring-boot:run -> 添加参数
//比如多环境选择 需要设置多环境配置文件
mvn spring-boot:run -Dspring-boot.run.profiles=pro

将springboot项目打成jar包

mvn clean install -Dmaven.test.skip=true

使用 java -jar xxx.jar 执行这个可执行jar文件

java -jar xxx.jar -> 添加参数
//比如多环境选择
java -jar demo-test-0.0.1-SNAPSHOT.jar --spring.profiles.active=pro
//比如修改端口号
java -jar demo-test-0.0.1-SNAPSHOT.jar --server.port=9999

SpringBoot的多环境配置文件方式分为两种:
1.要想使用多配置文件进行多环境管理首先要遵循springboot官方的命名规则
① application-{profile}.properties
② application-{profile}.yml
例如:

application-dev.yml 开发环境
application-test.yml 测试环境
application-pro.yml 生产环境

SpringBoot项目的命令启动方式
在当前项目的pom.xml 目录下 执行 mvn spring-boot:run

mvn spring-boot:run -> 添加参数
//比如多环境选择 需要设置多环境配置文件
mvn spring-boot:run -Dspring-boot.run.profiles=pro

将springboot项目打成jar包

mvn clean install -Dmaven.test.skip=true

使用 java -jar xxx.jar 执行这个可执行jar文件

java -jar xxx.jar -> 添加参数
//比如多环境选择
java -jar demo-test-0.0.1-SNAPSHOT.jar --spring.profiles.active=pro
//比如修改端口号
java -jar demo-test-0.0.1-SNAPSHOT.jar --server.port=9999

2.创建一个配置文件通过三个连字号

spring:
	profiles:
   		active: pro
---
spring:
	profiles: dev
server:	
	port: 8888
---
spring:
	profiles: pro
server:
	port: 9999

3. 引入外部配置文件的信息.

  1. 传统的方式可以通过@Value(${key}) -> 获取外部.properties文件中的信息.

  2. 通过自定义一个POJO类,添加上相应的注解,从而获取外部.properties文件的信息.
    @ConfigurationProperties(prefix = “统一前缀”)
    @Component
    保证属性名和自定义信息的后缀一致即可.
    在需要使用的地方直接@Autowired/@Resource直接注入POJO类即可.

五. SpringBoot整合Mybatis

导入依赖.

MySQL驱动. -> mysql-connector-java
Druid连接池. -> druid-spring-boot-starter
Mybatis框架. -> mybatis-spring-boot-starter

编写配置文件.

mybatis:
  	# 3.1 扫描映射文件.放在resources下
  mapper-locations: classpath:mapper/*.xml
  configuration:
    #3.2 配置驼峰映射.
    map-underscore-to-camel-case: true
  # 3.3 配置别名.  
  type-aliases-package: com.entity

在启动类中扫描接口所在位置.
@MapperScan(basePackage = “com.qf.mapper”)

测试.

  1. 直接在Mapper接口的位置右键 -> goto -> Test (idea会帮助咱们自动创建一个测试类,创建在test目录下的)

  2. 让测试类继承SpringBoot自带的测试类.项目名ApplicationTests.
    @RunWith(SpringRunner.class)
    @SpringBootTest
    可以开始测试直接的对象.

Mybatis注解实现.

如果sql语句比较简单,不需要动态sql,可以采用注解的方式,注解方式更简单.
如果sql语句比较麻烦,不推荐使用注解,推荐使用xml文件的方式.
xml和注解可以同时使用.

在接口的抽象方法上添加注解实现.
@Select
@Update
@Insert
@Delete

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值