
填空题
判断题
选择题
1、以下选项中,哪些属于Spring Boot的优点? (ACD)( 多选)
A.可快速构建独立的Spring应用
B.无须打包即可快速部署优点里没有说这个,例如部署到linux系统里的话,应该还是得打包的,不然没办法部署啊
C.提供依赖启动器简化构建配置
D.极大程度地自动化配置了Spring和第三方库
2、IDEA 界面中,Configure —>Project Defauts 中的Project Structure主要作用是(A)
A.用于全局JDK初始化设置
B.用于全局Maven初始化设置
C.用于全局运行环境设置
D.以上都不对
3、下列关于Sping Boot项目各个包作用的说法, 正确的是( ABCD)(多选)
A. resources下static中用于存放静态资源文件
B. resources 下templales中用于存放模板文件
C. aplicaion.properties是项目的全局配置文件
D.以上都正确
4、下列关于Spring Boot依赖管理的说法,正确的是( B)
A. spring-boot-starter- parent父依赖可以为项目提供整合的子依赖文件
B. spring-boot-starter-parent 父依赖可以为项目提供整合的子依赖版本管理
C. Web场景开发依赖spring- boot- starter-web 可以针对所有Web场景开发 所有的不对
D. Web场景开发依赖spring-boot-starter-web的版本需要自行管理 parent会自动管理,我们也可以自己管理
5、下列关于Spring Boot自动配置原理的说法,错误的是(A)
A. @SpringBootApplication 只包含@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan 3个注解 还有@Target、@Retention、@Documented、@Inherited,那三个是核心注解
B. @SpringBootConfiguration 注解表示当前类为一个配置类并可以被组件扫描器扫描
C. @EnableAutoConfiguration 的作用是启动自动配置,向容器中导入所有选中的自动配置类
D. @ComponentScan注解的主要作用是扫描指定包及其子包下所有注解类文件作为Spring容器的组件使用
填空题
2.2 判断题
选择题
1、下列关于 Spring Boot全局配置文件的说法,正确的是(ABC)。(多选)
A Sping Boot 支持 application.properties 全局配置文件
B SpingBoot 支持 application.yaml 全局配置文件
C SpingBoot 支持application.yml 全局配置文件
D SpingBoot 全局配置文件必须在项目resouces 根目录下 类路径的/config下也能识别
2、下列关于YAML配置文件的说法,正确的是(B)
A. YAML 配置文件的内容是key: vlaue"形式的键值对,并使用缩进式写法 这个不叫缩进
B. YAML配置文件的行内式写法配置单列集合属性, 包含属性值的中括号“[]”可以省略
C. YAML 配置文件的行内式写法配置双列集合属性,包含属性值的大括号“{}” 可以省略 不可以省略
D.以上都不对
3、下列关于ConfiurationProperies 注解的说法中,正确的是(B)
A. @ConfigurationProperties 注解只能作用于类 一般批量注入使用@ConfigurationProperties,单个注入使用@Value,但是单个也能使用前者,批量不能使用后者
B.使用@ConfigurationProperties 注解为Bean注入属性时,必须为Bean设置setter方法
C. @ConfigurationProperties注解必须和@Component结合使用
D.要想使@ConfigurationProperties 注解注入的属性生效,必须使用@EnableConfigurationProperties注解开启注入
4、下列关于@ConfigurationProperties 和@Value注解的说法,正确的是(C)
A. @ConfigurationProperties 和@Value注解都是Spring Boot框架自带的 @ConfigurationProperties是Springboot带的,@Value是spring自带的
B. 进行属性值注入时,Coniguratioroperties和@Value注解配置中必须设置属性的setter方法 @Value不需要setter方法
C. @CnfigurationProperties 注解进行配置文件属性值注入时,支持JSR303数据校验
D. @Value 注解进行配置文件属性值注入时,支持松散绑定语法 不支持,@Value只支持SpEL表达式
5、下列关于Spring Boot的Profle多环境配置的说法,错误的是(D)
A. Spring Boot提供了两种多环境配置的方式: Profile 文件多环境配置和@Proflie注解多环境配置
B. Profle配置文件的名必须满足aplpaion-{profile}-properties的格式
C。可以在项目全局配置文件中配置spring.proflles.acive属性激活指定的多环境配置文件
D.在多个自定义类上直接使用@Profile注解可以进行多环境配置 还需要把他们声明为组件@Configuration
填空题
判断题
选择题
1、下列关于Spring Boot整合MyBatis实现的说法,正确的是(C)。
A. Spring Boot整合MyBatis必须提供mybatis-spring-boot-starter 依赖 这个不清楚
B. @MapperScan(“xxx”)注 解的作用和@Mapper注解一样 肯定不一样啊,一个作用于启动类上,扫描那个包下的所有类作为Mapper组件;一个表示把该类作为Mapper组件。
C.在全局配置文件中配置MyBatis的XML映射文件位置要使 mybatis.mapper-locations属性
D.使用注解方式编写MyBatis接口文件数据修改方法时,还需要使用@Transactional 注解 修改不是@Update吗,这个我不清楚是什么
2、下列关于 Spring Data JPA映射的实体类中相关注解的说法,正确的是(D)
A.使用Spring Data JPA进行数据查询映射时,需要在配置文件中开启驼峰命名映射 数据库使用的和实体类里面的命名规则相同就不用开启了,开启应该是匹配那些带-的,例如数据库命名student_id;在实体类里面一般会命名为studentId这样就不匹配,如果数据库里使用驼峰命名就不用了把
B. 使用@Entity注解时,还要使用name属性指定具体映射的表名 不指定时,可以默认的
C. @ld注解必须标注在类属性上,表示主键对应的属性 标注在类属性或getter方法上,表示某一属性对应表中主键,这错的太牵强了吧
D. @Transient注解表示指定属性不是到数据库表的字段的映射,ORM框架将忽略该属性
3、使用Spring Boot整合Spring Data JPA编写Repository接口时,下列说法错误的是(BC)。(多选)
A.自定义Repository接口可以继承CurdRepository接口
B.可以在方法上添加@Update注解结合SQL语句实现数据修改 @Query(“UPDATE....")
C.可以在方法上添加@Delete注解结合SQL语句实现数据删除 @Query("DELETE...")
D.进行数据变更操作时,必须在Repository接口方法上添加@Transient 注解
4、Redis 是一个开源内存中的数据结构存储系统,可以用作(ABCD)。 (多选)
A.数据库
B.缓存中间件
C. 消息中间件
D.以上都正确
5、当Redis作为数据库时,下列与Spring Boot整合使用的相关说明,正确的是(A)
A. @RedisHash(“persons”)用于指定 操作实体类对象在Redis数据库中的存储空间
B. @ld用于标识实体类主键,需要手动指定id生成策略 有默认的不指定也可以
C.使用Redis数据库,必须为实体类属性添加@Indexed属性生成二级索引
D.编写操作Redis数据库的Repostory接口文件时,需要继承JpaRepository 接口 继承CrudRepository,不是JpaRepositiry
填空题
判断题
选择题
1、以下选项中,Spring Boot整合Spring MVC框架支持的模板引擎技术有(ABCD)。(多选)
A. FreeMarker
B. Groovy
C. Mustache
D. Thymeleaf
2、关于Spring Boot整合JSP模板技术的限制,以下说法错误的是(D)
A. Spring Boot默认的JAR包部署方式不支持JSP模板 war包可以支持jsp,jar包不支持,正确
B. Undertow嵌入式容器部署Spring Boot项目,不支持JSP模板 undertow(红帽公司)也不支持jsp
C.使用JSP模板时,无法对默认的错误处理器进行覆盖 对,只能根据springboot的要求在指定位置定制页面错误
D.使用JSP模板时,无法自定义错误页面 既然可以使用jsp,就能够定义错误界面
3、Thymeleaf 支持处理哪些模板页面? (ABCD)( 多选)
A. HTML
B. XML
C. JS
D. CSS
还有TEXT、RAW
4、以下关于Thymeleaf模板中th:*属性的说法,错误的是(A)。
A. th:forEach 属性用来进行数据遍历 th:each
B. th:utext 属性进行文本内容展示,且不进行转义
C. th:fragment属性用来声明片段
D. th:value 属性用于内容修改
5、Spring Boot中,可以存放静态资源文件的位置有(ABCD)。(多选)
A. 项目 根路径下的METANF/resoures/文件夹下
B.项目根路径下的resources及其子文件夹下
C.项目根路径下的static文件夹下
D.项目根路径下的public及其子文件夹下
填空题
判断题
选择题
1、SpingBoot为整合Spring MVC实现Web开发,提供的功能特性不包括(C)。
A. 配置视图解析器
B. 对WebJars的支持
C. 对拦截器的自动配置 需要自己配置,不能自动配置
D. 对HtpMessageConverters 消息转换器的支持
2、Spring boot整合 Sevlet组件涉及的注册Ben组件有(ACD)。(多选)
A. ServletRegistrationBean Servlet
B. InterceptorRegistationBean 拦截器的是先实现HanderInterceptor接口,让后在MVC配置类里重写addInterceptors方法注册的
C. FilterRegistrationBean Filter
D. ServletListenerRegistrationBean Listener
3、Spring boot中使用路径扫描的方式整合内嵌式Sevlet组件时,需要使用的注解有(ABC)。(多选)
A. @WebFilter
B. @ServletComponentScan
C. @WebListener
D. @WebInterceptor 拦截器
4、下列关于Spring Boot整合Spring MVC实现文件上传及下载的说法中,正确的是(B)
A. 必须使用spring.servlet.multipart.max-file-size来设置单个上传文件的大小限制 默认1MB
B.处理上传文件方法中,可以使用List类型的参数来接收处理单个或多个上传文件
C.文件上传存储目录“F:/file/” 需要提前创建好 不需要事先创建
D.对中文文件进行下载时,如果没有进行中文转换,下载的中文文件内容会出现乱码 中文名文件,名字会乱码
5、下列关于Spring Boot项目War包方式打包部署的说法中,错误的是(C)
A. 必须使用 标签将Spring Boot项目默认的Jar包方式修改为War
B. 需要将sring-boot-starter-tomcat使用provided声明为已提供provided
C. 必须让主程序启动类继承SpringBootServletInitializer类并实现configure()方法 1.实现这种目的还有另外的操作,不一定是主启动类继承,还可以让其他子类继承,实现configure方法. 2、这么做的目的是让Servlet启动时可以进行配置,那不操作是不是不能进行配置,这一点我没有实际操作。
D. 以War包方式部署项目进行访问,必须在访问路径上添加打包后的项目名
填空题
判断题
@CoditionalOnMissingBean{name={"redisTemplate"}意思为,当没有自定义的组件时,默认生效,反之使用自定义的,这就要求我们自定义bean的名字是有要求的,但方法名没要求选择题
1、下列关于Spring Boot中提供的缓存管理的相关注解的说法,正确的是(D)
A. @EnableCaching 注解是spring boot提供的, 用于开启基于注解的缓存支持 spring
B. @Cacheable注解作用于方法上,用来对查询结果进行缓存 这个好像也不错,但是感觉应该是作用于数据查询方法上,没有查询结果怎么进行缓存呢,对中选最对的吧
C. @CacheEvict 注解用于更新缓存数据 删除缓存数据
D. @CacheConfig 注常使用在类上,主要用于统筹管理类中所有使用@Cacheable、@CachePut和@CacheEvict注解标注的方法中的公共属性
2、下列关于springboot中Redis缓存注解相关属性的说法,错误的是(C)
A value 和cacheNames属性作用相同,用于指定缓存的名称空间
B. key 属性的作用就是指定缓存数据对应的唯一标识, 默认使用注解标记的方法参数值
C. unless属性的作用是当指定的条件为true时,方法的返回值就会被缓存 为true不缓存
D. sync 属性表示数据缓存过程中是否使用异步模式,默认值为false
3、下列关于Spring Boot中RedisTemplate进行数据缓存管理的说法, 正确的是(ACD)(多选)
A. RedisTemplate 是spring Data Redis 提供的,可以对<Object, Object>类型数据进行操作
B. RedisTemplate 类的set()方法可以进行数据缓存存储 RedisTempate没有set方法,他应该是通过redisTemplate.opsForvale()的set方法
C. RedsTemplate 类的delect()可以进行缓存数据删除
D. RedsTemplate 类的expire()可以进行设置缓存有效期
4、Spring Boot中支持的缓存组件有(ABCD)(多选)
A. Jcache
B. EnCache2x
C. Redis
D. Caffeine
5、下列关于将Spring Boot 定制Redis缓存序列化机制的说法,错误的是(A)
A. 自定义RedisTemplate组件时,方法名必须为为redisTemplate 不必须
B. 在定制序列化方式中,要定义一个ObjectMapper 用于进行数据转换设置
C. Spring Boot 1x 版本中,定制 RedisTemplate组件序列化配置后,就完成了基于API和注解方式Redis序列化的定制
D. 使用自定义RedisTmplate序列化机制缓存存储实体类数据,实体类不用再实现序列化 这个看书上写的是实现自定义序列化机制的RedisCacheManager测试时,实体类不需要实现序列化接口,这个地方不太理解
填空题
判断题
选择题
1、Spring Security提供了多种自定义认证方式,包括有(ABCD)。(多选)
A. JDBC Authentication JDBC身份认证
B. LDAP Authentication LDAP身份认证
C. AuthenticationProvider 身份认证提供商
D. UserDetailsService 身份认证详情服务
还有In-Memory Authentication 内存身份认证
2、下列关于使用JDBC身份认证方式创建用户/权限表以及初始化数据性说法,错误的是(D)
A.用户表中的用户名username必须唯一
B.创建用户表时,必须额外定义一个tinyint类型的字段
C.初始化用户表数据时,插入的用户密码必须是对应编码器编码后的密码
D.初始化角色表数据时,角色值必须带有“ROLE_” 前缀 没有角色表,初始化权限表时必须要这个前缀
3、下列关于configue(HttpSecurity http)方法中参数HttpSecurity类的说法,正确的是(ABCD)(多选)
A. autreRequests()法开启基于HtSesletReque请求访问的限制
B. formLogin()方法开启基于表单的用户登录
C. rememberMe()方法开启记住我功能
D. csrf()方法配置 CSRF跨站请求伪造防护功能
4、下列关于自定义用户登录中的相关说法,错误的是(B)。
A loginPage(Sting loginPage)指定用户登录页面跳转路径,默认为GET请求的 /login
B. failureUrl (Sting authenticationFailureUrl 指定用户登录失败后的跳转地址,默以为/login?failure 默认跳转为/login?error
C. loginProcessingUrl(String loginProcessingUrl)指定登录表单提交的路径,默认为POST,请求的 /login
D. 项目加入Security 后,可以不对 static 文件夹下的静态资源文件进行统一放行处理
5、下列关于使用Security 整合Thymeleaf 实现页面的管理的说法,错误的是(B)
A. Spring Boot2.1.3版本中添加thymeleaf-extras-springsecurity5依赖不需要手动指
定版本号
B. sec:authorize="!isAuthenticated()"用于判断用户没有认证 isAuthenticated()判断用户是否登录,登陆了显示用户信息和注销链接,加个!表示非。我猜时没有登录显示注销链接和信息,反正感觉逻辑优点错误
C. sec:authorize="hasAuthority(‘ROLE vip’)"用于判断用户是否有ROLE_vip权限
D. sec:authentication=“name” 属性用于显示登录用户名name
填空题
判断题
选择题
1、开发中,使用到消息服务的需求场景主要包括(ABCD)。(多选)
A.异步处理
B. 应用解耦
C.流量削锋
D.分布式事务管理
2、以下关于消息中间件的说法,错误的是(D)。
A. RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议
B Redis服务可以作为消息中间件提供服务
C. RocketMQ 是Apache的顶级项目,具有高吞吐量、高可用等特点 RocketMQ是阿里巴巴的开源项目,也是Apache的顶级项目,这句话并没有错
D. ActiveMQ是Apacle出品的、基于JMS协议的高性能中间件 高性能不对
3、RabbiMQ中提供了哪几种交换器类型? (ABCD)(多选)
A. direct
B. fanout
C. topic
D. headers
4、RabbitMQ提供的工作模式不包括(A)。
A.单点模式
B.发布订阅模式 Publish/Subscribe
C.路由模式 Routing
D. Headers 模式
Work queues(工作队列模式)、Topics(通配符模式)、RPC
5、以下关于基于注解方式定制RabbitMQ消息组件中的相关注解及说法,错误的是(A)。
A.需要使用@EnableRabbit 开启基于注解的支持
B. @RabbitListener标记在消息消费者方法上,会立即监听并消费消息队列中的消息
C. @RabitListener 注解的queues属性可以定制消息队列
D. @QueueBinding 注解包括有value type、 key 等属性
填空题
判断题
选择题
1.以下关于Spring Boot中异步任务的使用及说明,错误的是(C)
A. Spring Boot项目中引入 spring-boot-starter-web依赖后可以进行异步任务管理
B. @EnableAsync 注解用来开启基于注解的异步任务支持
C.对于所有异步任务,主线程方法会与其他异步方法同时进行,不受干扰 当返回值较多时主线程执行异步任务时会短暂阻塞,需要等待并获取异步方法返回结果,其他的子线程并行执行,直到所有子线程完成并返回结果,主线程跳出阻塞,开始执行
D.异步任务可以极大地缩减总流程的执行时间
2.以下关于@Scheduled的相关属性,说法正确的是( D)。
A. cron属性表示cron的表达式,可以定制定时任务的秒、分钟、小时、日、月、星期、年 秒、分钟、小时、月中日、月、周中的日,没有年
B. zone指定cron表达式将被解析的时区,默认为Asia/Shanghai 默认是空字符串即表示使用服务器的本地时区
C. fixedRate 表示在上一次任务执行结束后在指定时间后继续执行下一次任务 重复执行该任务
D. initialDelayString 表示在 fixedRate或 fixedDelay任务第一次执行之前要延迟的毫秒数
3.以下关于定时任务注解中表示每月的26日每一分钟都执行,写法正确的是(A)
A. @Scheduled(cron = "0 * * 26 * ?”)
B. @Scheduled(cron = "0 0 0 26 * ?”) 表示每月26日的0时0点0分0秒执行一次
C. @Scheduled(cron="0 * * 26 * * ”) 这是个错误的写法,日期和星期不能同时指定,当日期指定了,星期就要用?;星期指定了,日期要用?
D. @Scheduled(cron=* * * 26 * ?) 表示每月26日的每分每秒
4.以下关于Spring Boot中发送复杂邮件的相关说法,正确的是(AB)(多选)
A.发送复杂邮件,需要创建 MimeMessage 对象
B.发送复杂邮件,需要使用MimeMessageHelper并设置multipart多部件使用为true
C.通过 FileResource 对象可以构建发送的附件或内置资源文件
D.添加邮件内置静态资源文件需要使用MimeMessageHelper的addAttachment()方法
5.以下关于Spring Boot中借助 Thymeleaf发送模板邮件的相关说法,正确的是(ABCD)
(多选)
A.需要使用MimeMessageHelper帮助类,并设置 multipart多部件使用为true
B.需要使用Context 对象定制邮件动态内容
C. 需要使用解析器 TemplateEngine的process(String template, lContext conte
我有一个字符串input="maybe(thisis|thatwas)some((nice|ugly)(day|night)|(strange(weather|time)))"Ruby中解析该字符串的最佳方法是什么?我的意思是脚本应该能够像这样构建句子:maybethisissomeuglynightmaybethatwassomenicenightmaybethiswassomestrangetime等等,你明白了......我应该一个字符一个字符地读取字符串并构建一个带有堆栈的状态机来存储括号值以供以后计算,还是有更好的方法?也许为此目的准备了一个开箱即用的库?
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
我正在使用ruby1.9解析以下带有MacRoman字符的csv文件#encoding:ISO-8859-1#csv_parse.csvName,main-dialogue"Marceu","Giveittohimóhe,hiswife."我做了以下解析。require'csv'input_string=File.read("../csv_parse.rb").force_encoding("ISO-8859-1").encode("UTF-8")#=>"Name,main-dialogue\r\n\"Marceu\",\"Giveittohim\x97he,hiswife.\"\
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain
简而言之错误:NOTE:Gem::SourceIndex#add_specisdeprecated,useSpecification.add_spec.Itwillberemovedonorafter2011-11-01.Gem::SourceIndex#add_speccalledfrom/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91./opt/local/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/rails/gem_dependency.rb:275:in`==':und
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD