springboot

springboot默认包含了早期spring所有项目,包含分布式,安全控制等等

不需要使用tomcat(war包),直接通过jar包使用

无需配置xml(不知道是什么意思)

入门

 

 

容易精通难,精通需要了解它使用的底层api,入门不需要

微服务 马丁fowler 应用是一组小型服务每个服务都通过http的方式进行互通。

单体应用和微服务:微服务比单体应用更难写,但是更容易修改,可替换,可独立升级。

jdk使用1.8以上版本就可以

 

多数据源切换

MultipleDataSource.route("baoweiXbj");
MultipleDataSource.reset()

 

maven使用3.3以上

springboot使用1.9以上

eclipse什么时候需要安装插件:在需要一些别的注解的时候

由于项目中有@Slf4j 注解等,而eclipse需要安装lombok插件才能正常编译。由于之前对lombok 一片空白,查了多个帖子,详细总结了一下在window下eclipse安装lombok。

1,新建maven项目

2、导入springboot相关依赖

 

 

 在官网上导入了一个demo项目,再写了一个这个,import了一些乱七八糟,@了一些乱七八糟,然后就成功了,但是我现在还不知道spring boot是什么东西,它和一般的程序有什么区别,怎么用。

 

 这个是怎么实现的呢

 

 

 

 

这些@注解是什么意思我要一个一个去学习吗

 

pom文件 parent 父项目 是管理依赖用的,点开会发现里面有所有依赖的所有版本号。 绝大多数情况下是不用管了,除了一种情况那就是需要的应用里边没有,那就要另外去导入了。

 

springboot starter是场景启动器,自动导入一些要用的场景比如tomcat等等

主程序类(主入口类)

 

 学会用springboot 是要学会各个注解怎么用,怎么导入xml的pom文件,这样子。

 @ComponentScan 

1.创建一个配置类,在配置类上添加 @ComponentScan 注解。该注解默认会扫描该类所在的包下所有的配置类

@Bean

Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。

SpringIOC 容器管理一个或者多个bean,这些bean都需要在@Configuration注解下进行创建,在一个方法上使用@Bean注解就表明这个方法需要交给Spring进行管理。

Spring boot 添加 Servlet(ServletRegistrationBean)

Spring boot 默认是不支持 JSP 的,所以想用 JSP 就必须使用外部容器来运行,即不能使用嵌入式的 Tomcat 或 Jetty。有时候一些老项目使用的是 JSP 写的页面,后台使用的是 Servlet ,领导要求使用 Spring boot 进行改造,但是改造呢是一个漫长的过程,那么如何让 Spring boot 快速的支持 Servlet 呢?本文来告诉你具体的操作方法。

除了上面的老项目改造,还有使用 Druid 数据库连接池的项目改为 Spring boot 项目时,还需保留 Druid 对 SQL 方面的监控。那么就迫切的需要 Spring boot 支持 Servlet 功能。

看过 Spring Boot 源码的都支持,Spring boot 默认为我们提供了注册 Servlet 三大组件 Servlet、Filter、Listener 的接口。我们只需按需配置和添加少量的代码即可实现添加 Servlet 的功能。

由于 SpringBoot 默认是以 jar 包的方式启动嵌入式的 Servlet 容器来启动 SpringBoot 的 web 应用,没有 web.xml 文件。

所以想用使用 Servlet 功能,就必须要借用 Spring Boot 提供的 ServletRegistrationBean 接口。

因此整个实现就变得很简单了。我们只需要在 @Configuration 注解过的类中做以下配置即可使用 Servlet 功能。
————————————————
版权声明:本文为CSDN博主「csdn-JAVA-LIFE」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39793752/java/article/details/89327924

spring是如何能够使用druid的方法的?spring和druid有一些关联的包专门用的

 

 

 

 

Spring Boot核心功能

1.独立运行的Spring项目
Spring Boot可以以jar包的形式独立运行,运行一个Spring Boot项目只需通过java -jar xx.jar来运行
2.内嵌Servlect容器
Spring Boot 可以选择内嵌Tomcat,Jetty或者Undertow,这样我们无须以war包形式部署项目
3.提供starter简化Maven配置
Spring 提供了一系列的starter pom 来简化Maven的依赖加载,例如,当你使用了spring-boot-starter-web时,会自动加入一些jar包
4.自动配置Spring
Spring Boot 会根据在类路径中的jar包、类,为jar包里的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,Spring Bot只是考虑了大多数的开发场景,并不是所有的场景,若在实际开发中我们需要自动配置Bean,而Spring Boot没有提供支持,则可以自定义自动配置。
5.准生产的应用监控
Spring Boot 提供了基于http,ssh,telnet对运行时的项目进行监控
6.无代码生成和xml配置
Spring Boot的神奇的不是借助于代码生成来实现的,而是通过条件注解来实现的,这是Spring 4.x提供的新特性,本篇文章将用大量的篇幅讲解 Spring Boot实现的核心技术。
Spring 4x提倡使用Java配置和注解配置组合,而Spring Boot不需要任何xml配置即可实现Spring的所有配置。

 

数据库配置文件

有多个配置文件时,spring会自动识别,多个配置文件有优先级都可以用,把一个删掉了会自动用下一个。如果想知道现在用的是哪个文件,看端口号就好了。如果一个配置文件是空的,在里面写上serverport:10000再运行程序会不会变到10000端口去跑,就知道这个文件优先级是不是高了。但是程序也不会去读一个空的配置文件的,如果它是空的其实你可以不管它。

spring数据库配置

MultipleDataSource.route在Impl中写入可切换数据库

 redis在spring中的配置:在mapper的select语句上方写@chacheable,指定在redis中使用的库名和表名。redis是在其他地方配置的

//通明大佬数这个不是redis的,具体是什么我忘记了

@Cacheable(value = "DEFAULT", key = "'queryIgnitionCarNumOfRS3' + #p0 + #p1 + #p2 +#p3")

@Scheduled 设置定时任务
@Scheduled(cron = "${cron.insert-ignition-car-num}") //在resource文件中写上定时任务并在该注解下说明
private void insertIgnitionCarNum() { //url地址还是另外在controller中写的?可以把controller中删掉多少?
IWeeklyReportService.insertIgnitionCarNum(); //调用service

@Cacheable(cacheNames = "adas/aeb")模块名称

 

 

 

posted @ 2020-06-12 09:21  568353087  阅读(153)  评论(0编辑  收藏  举报