springboot面试

Eclipse sts插件

Maven2以上

Idea model –spring initalizr  <properties><dependency><build><plugins></build> 或maven创建 可以指定父模块

@springbootapplication 自动配置

父级依赖 starter-parent

覆盖依赖版本 <properties><spring.version></>

Properties/yml key/value :空格    spring.profiles.active 多配置

自定义读取配置文件 @value(“${boot.name}”)private string name;  编码:file encodings

类读取配置文件 @component @configurationproperties(profix=”boot”)class configinfo{ private string name;private string location;getset}  @autowired这个类使用

Springmvc

@controller json@restcontroller @getmapping @postmapping @putmapping @deletemapping

@requestmapping(value=””,method=get/post)

Jsp:引入tomcat.embed/.jasper  servlet.jsp-api  servlet.jstl   前端视图spring.mvc.view.prefix和suffix为/ .jsp  新建文件夹webapp放入jsp  idea404错误 pom中加3个<resource>

Mybatis

Mabatis-starter mysql-connector mapper.xml位置  mapper-locations datasource generatormapper.xml生成mapper   插件mybatis.generator-maven-plugin   plugins然后build     类上加@mapper 或扫描包 main加mapperscan   把xml 编译 include进去

事物

支持事物 @enabletransactionmanagement    service上加@transaction

Restful风格     用/分割    @pathvariable(“id”)       “boot/user/{id}”

热部署 spring-boot-devtools build一下

Redis

Starter-data-redis 配置redis端口   注入redistemplate   @autowire private redistemplate<string,string> redistemplate; opsforvalue.get   redis desktop manager  bean需要实现序列化接口 implements serializable   设置序列化器可读 字符串序列化 stringredisserializer()  redistemplate.setkeyserializer(..)   缓存穿透 双重判空synchronized(this)  concurrent.excutors.newfixedtreadpool .submit(runable(select))

Redis哨兵  spring.redis.sentinel.master=mymaster sentinel.nodes=多个哨兵端口26380

Dubbo

Dubbo-starter

Dubbo-interface jar –à dubbo-provider

Spring.dubbo.appname=    zookeeper地址 spring.dubbo.registry:zookeeper://192.168.106.128地址  zookeeper依赖 101tec zkclient

Provider实现userservice   dubbo的@service(version=”1.0”,timeout=1000)注解变成@component springbean   main下开启配置支持 @enabledubboconfuration

Dubbo-consumer

Spring.dubbo.appname=    zookeeper地址 spring.dubbo.registry:zookeeper://192.168.106.128:2181

@reference 引用服务main下开启配置支持 @enabledubboconfuration

拦截器interceptor

Logininterceptor 实现接口 handlerintercepter 方法 prehandle posthandle aftercompletion

@configuration编写拦截器配置类 继承 webmvcconfigureradapter 实现 addinterceptors 添加拦截器

Registry.addinterceptor(new logininterceptor).addpathpatterns().excludepathpatterns

String[] Addpathpatterns = {“/boot/*”}

Servlet注解方式

Myservlet继承httpservlet 注解@webservlet(urlpatterns=”/my”) dogetpost  main方法加@servletcomponentscan扫描这个到这个类

Servlet普通配置

写一个servlet类和写一个配置类  @configuration 注入这个类  @bean servletregistrationbean heservletregstrationbean{regitrationbean(servlet,urlparttern)一下}

Filter过滤器

注解模式 webfilter(urlpattern=”/*”)  myfilter 实现 filter接口 dofilter方法过滤 main方法加注解扫描到这个servlet和过滤器 @servletcomponentscan(com.)

Filter普通配置

写一个普通filter类和一个配置类   @configuration 注入这个类@bean  filterregistrationbean hefilterregistration { register一下 addpattern(/*)}

 

字符编码

传统 配置类 @bean 加filter   add    characterencodingfilter    setforceencoding(true)

核心配置中 spring.http.encoding.enabled=false

配置模式 核心中 spring.http.encoding.charset=utf8 等

 

非web项目

方式一:不选web main中加载configurableapplicationcontext   context.getbean(service)

方式二:main实现这个接口 commandlinerunner 的 run方法入口 @autowire注入service

 

关掉logo   setbannermode

 

War部署

Main 继承springbootservletinitializer 覆盖springapplicationbuilder configure方法 builder.source

maven更改成war

 

jar部署

内嵌tomcat 插件 spring-boot-maven-plugin1.4.2 resouces包含xml

 

Thymeleaf(freemaker velocity beetl)

依赖Starter-thymleaf  核心配置 spring.thymleaf.cache=false mode=LEGACYHTML5

Resources下templates写html模版 <html xmlns:th=”http://www.thymeleaf.org”>

Th标签注入html th:text=”${}”  静态资源放在resource/static下

有源码

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值