SpringBoot知识1

1.spring-boot-configuration-processor 即注释处理器

       引入后,当你在application.yml或者application.properties中输入时,会有相应的提示,方便我们写配置文件

2.可以配置静态资源路径,但是不能配置访问静态资源的访问前缀

3.页面显示的小图标只需将favicon.ico放入static包下,静态资源的访问前缀也会影响favicon.ico的图标的显示

4.proxyBeanMethods = false

  • Full(proxyBeanMethods = true) :proxyBeanMethods参数设置为true时即为:Full 全模式。 该模式下注入容器中的同一个组件无论被取出多少次都是同一个bean实例,即单实例对象,在该模式下SpringBoot每次启动都会判断检查容器中是否存在该组件
  • Lite(proxyBeanMethods = false) :proxyBeanMethods参数设置为false时即为:Lite 轻量级模式。该模式下注入容器中的同一个组件无论被取出多少次都是不同的bean实例,即多实例对象,在该模式下SpringBoot每次启动会跳过检查容器中是否存在该组件
    什么时候用Full全模式,什么时候用Lite轻量级模式?
  • 当在你的同一个Configuration配置类中,注入到容器中的bean实例之间有依赖关系时,建议使用Full全模式
  • 当在你的同一个Configuration配置类中,注入到容器中的bean实例之间没有依赖关系时,建议使用Lite轻量级模式,以提高springboot的启动速度和性能

 5.注解

@PathVariable  路径变量参数

@PostMapping("/{id}")
public void demo(@PathVariable("id") Integer id) {
}
@RequestAttribute 设置和获取请求域中的值 

 6.@controller和@restcontroller区别

  1. @RestController修饰的类会将 return后面的内容字符串的形式返回到@Requestmapping的页面
  2. @Controller修饰的类会将return的字符串配合视图解析器InternalResourceViewResolver添加上前缀和后缀。跳转到对应的html页面。
  3. @Controller和@ResponseBody配合作用和@RestController一样 

7.编写拦截器的步骤:

(1)编写一个拦截器实现类实现HandlerInterceptor接口

a.preHandler目标方法执行之前

b.postHandle目标方法执行之后

c.请求处理完成以后afterCompletion方法

(2)拦截器注册到容器中实现WebMvcConfigurer并重写addInterceptors方法

a.注册中心添加拦截器registry.addInterceptor(new LoginInterceptor()

b.添加拦截路径addPathPatterns("/**")

c.放行拦截路径(包括静态资源的访问)

(3)指定拦截规则,如果是拦截所有静态资源也会被拦截excludePathPatterns("/login", "/");

8.@EnableWebMvc导致了@WebMvcAutoConfiguration没有生效

9.实体类属性字段上加@Options:useGeneratedKeys(是否是自增长,必须设置 true) 和 keyProperty(实体类主键属性名称) 、keyColumn(数据库主键字段名称)

@component:  标注一个类为Spring容器的Bean,(把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)

10.springboot整合redis

@Component
public class RedisUrlInterceptor implements HandlerInterceptor {

    @Autowired
    RedisTemplate redisTemplate;

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        String url = request.getRequestURI();

        //默认访问当前的url的路径会加1
        redisTemplate.opsForValue().increment(url);

        return true;
    }
}

SpringBoot知识库系统是基于SpringBoot和MyBatis实现的一个系统,它采用了Docker容器化部署。该系统设计了6个不同的角色,可以实现电信知识的存储和管理。[2] 在SpringBoot项目中,可以使用两种不同格式的配置文件来配置系统。一种是Properties文件,另一种是YML文件。默认情况下,Spring Boot会使用application.properties作为系统配置文件,并将其放置在resources目录下。在这个配置文件中,我们可以设置系统的全局配置,例如端口号、数据库连接、日志、启动图案等。除了application.properties,Spring Boot还会读取其他指定位置的配置文件,包括项目根目录下的config目录、classpath下的config目录以及classpath目录。这样,我们可以根据不同的需求和场景来灵活配置系统。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Spring Boot+Vue3前后端分离实战wiki知识库系统之Spring Boot项目搭建](https://blog.csdn.net/Lbsssss/article/details/127600804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [【Springboot项目】电信知识库系统](https://blog.csdn.net/weixin_48180029/article/details/123241071)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值