springboot的总结

1.springboot的直接效果
  快速构建项目,完成配置

  1)继承的父项目

    可以使用<properites></properties>进行微调

  2)引入starter

    一个starter中包含了很多jar包

    在dependency标签中加入exclusions标签可以剔除此依赖中不想加载的jar包

  3)插件打包

    package   repackage

 

springboot中的application.properties中配置了默认的配置

2.springboot的优点:
  1)引入了starter包含需要整合的框架所有需要的jar包
  2)springboot可以以jar包的形式独立运行,运行一个springboot项目只需要通过java -jar xx.jar运行即可.
  3)内嵌servlet容器,springboot自带了tomcat,jetty,undertow,这样我们无须以war包形式部署项目
  4)自动配置spring:SpringBoot会根据会根据在类路径中的jar包、类,为jar包里的类自动配置bean,这会极大地减少我们要使用的配置;
  5)准生产的应用监控:Spring Boot提供基于http、ssh跟telnet对运行时的项目进行监控;
  6)Spring 4.x提供了条件注解,在Spring Boot中可以不用任何xml即可实现spring的所有配置;

3.springboot项目的构建方式:
  1)在start.spring.io中下载项目
  2)在SpringBoot-cli.exe
    spring init.groovy
  3)sts

4.springboot项目使用介绍
  1)SpringBoot通常有一个名为Application的入口类,其上加通常加@SpringBootApplication注解
  2)入口类里有一个main方法,这个main方法其实就是一个标准的java的应用程序入口
  3)在main方法中使用SpringApplication.run()启动Spring Boot项目

5.springBoot的启动流程:
  1,@SpringBootApplication
  2,@SpringBootApplication中包含了@EnableAutoConfiguration注解
  3,@EnableAutoConfiguration注解又导入了EnableAutoConfigurationImportSelector类
  4,EnableAutoConfigurationImportSelector类的父类AutoConfigurationImportSelector中定义了方法 getCandidateConfigurations
  5,getCandidateConfigurations方法可以扫描spring.factories文件中的配置
  6,spring.factories文件在spring-boot-autoconfigure-1.5.17.RELEASE.jar 的 META-INF 中
  7,spring.factories 文件中声明了很多 java 配置类,但是每个配置类都是需要满足一定的条件才会执行(例如:@ConditionalOnClass、@ConditionalOnProperty 等)

5.springboot注解的介绍:
  1)@SpringBootAppliaction是SpringBoot的核心注解,它是一个组合注解
    主要集成的注解有: @Configuration,@EnableAutoConfiguration,@ComponentScan
  2)@EnableAutoConfig让Spring Boot根据类路径中的jar包依赖,对项目进行自动配置
  3)Spring Boot会自动扫描@SpringBootApplication所在类的同级包以及下级包里的bean,建议入口类放置在groupId+arctifactID组合的包名下(classpath下);
  4)关闭特定的自动配置,应使用@SpringBootApplication注解的exclude参数,例如:
      @SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
  5)@EnableAutoConfiguration注解又导入了EnableAutoConfigurationImportSelector类,此类中提供了getCandidateConfiguration方法扫描spring.factories文件
    spring.factories文件则申明了我们有哪些自动配置
      其中有@ConditionalOnBean(当容器里有指定的bean的条件下),

          @ConditionalOnClass(当类路径下有指定的类的条件下),

          @ConditionalOnJava(基于jvm版本作为判断条件)等等;
          这些注解都组合了@Conditional元注解,只是使用了不同的条件,在不同情况下自动注册不同的实例到ioc容器中。

6.springboot对web的支持:
  注意:springBoot项目src/main/resources/下的statis和templates是用来放静态资源的,比如css,js,html等
前台如果访问/css/index.css时,会从/static , /public /resourse/中任意路径寻找

templates文件夹 用来存放 Thymeleaf 模板,这是用来做动态页面显示的,和jsp类似的东西。
1)对web支持
1,添加依赖
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
2,在Application.java的启动类,当前包或当前包子包中添加Controller
  controller写法和以前一致。
3,启动springBoot项目,访问测试
  2)springBoot 的web项目打包运行
  打包过程会先测试在打包,
  在pom.xml的properties中添加<skipTests>true</skipTests>会跳过测试
1,非jsp项目打成jar包运行
  直接点击项目右键选择run as --> maven bulid... --> goals : 输入package
刷新项目,在target下可以找到打好的jar包

在target中选中xxx.jar 右键-->show in-->terminal打开控制台,输入命令java -jar xxx.jar 回车
启动项目完成
打开浏览器测试访问

2,jsp项目打成war包运行
1,修改pom.xml中的jar为war
  <packaging>war</packaging>
  注:修改pom.xml保存以后会报错,更新maven项目即可
  选中项目 Alt+F5 ok
2,输入maven命令 package 打包,可以参考上面步骤。
  直接点击项目右键选择run as --> maven bulid... --> goals : 输入package
刷新项目,在target下可以找到打好的war包
3,运行war包
在target中选中xxx.war 右键-->show in-->terminal打开控制台,输入命令java -jar xxx.war 回车
启动项目完成
注:因为是一个正常的springboot项目,所有可以这样运行war包
一般的war包需要放到tomcat/webapps/下 手动启动tomcat才能运行
4,打开浏览器测试访问

3)springboot对jdbc的支持
  其实是使用springFramework中的jdbcTemplate
  1,添加依赖
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
  </dependency>

  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
  </dependency>
注:这里使用mysql数据库,oracle的ojdbc.jar在maven中的支持不太好。

2,在dao层实现类中使用jdbcTemplate直接增删改查
3,在application.properties文件中添加配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

# 如果需要,可以执行指定的sql文件进行建表
spring.datasource.schema=sql/test.sql

4,使用测试类测试
4)springboot对mybatis的支持
使用注解的形式读取映射文件位置,使用application.properties配置读取mybatis需要的配置文件和映射文件等
1,添加依赖
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>1.3.2</version>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
</dependency>
2,在src/main/resources/创建mybtis的配置文件和映射文件
配置文件中可以不写或者补充部分settings标签配置
映射文件以前怎么写现在还是怎么写
3,在springboot的启动类 类名上添加 @MapperScan({"com.briup.mapper"})注解
扫描映射接口所在包
4,在application.properties文件中添加配置
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root

mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
mybatis.type-aliases-package=com.briup.bean

5,测试类测试

注:如果是使用注解完成mybatis 映射文件的配置,那么 下面两句配置不需要
mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
直接在映射接口上 使用mybatis 的注解完成sql功能。

posted @ 2020-03-22 17:48  whhhd  阅读(263)  评论(0编辑  收藏  举报