自动配置思想&自动配置原理&自定义starter&定时任务&拦截器开发

收集Spring开发者的编程习惯,整理开发过程使用的常用技术列表—>技术集A

收集常用技术(技术集A)的使用参数,整理开发过程中每个技术的常用设置列表—-->设置集B

初始化SpringBoot基础环境,加载用户自定义的bean和导入的其他坐标,形成初始化环境

技术集A包含的所有技术都定义出来,在Spring/SpringBoot启动时默认全部加载

技术集A中具有使用条件的技术约定出来,设置成按条件加载,由开发者决定是否使用该技术(与初始化环境比对)

设置集B作为默认配置加载(约定大于配置),减少开发者配置工作量
开放设置集B的配置覆盖接口,由开发者根据自身需要决定是否覆盖默认配置

目录

一、自定义starter 

记录系统访客独立IP访问次数

需求分析

​编辑

业务功能开发 

自动配置类

配置

以上的操作都是在自定义一个starter,别忘记clean后然后install,然后再需要使用的工程中导入该starter的坐标

​编辑 

二、定时任务报表开发

1、注解开启定时任务功能

三、使用属性配置设置参数

1、自定义一个配置类

2、yml配置文件设置数据

3、定义成bean

 3、应用

 放弃配置属性创建bean方式,改为手工控制​编辑

 使用#{beanName. attrName}读取bean的属性​编辑

四、拦截器开发

1、自定义拦截器

 2、设置核心配置类,加载拦截器

​编辑



一、自定义starter 

记录系统访客独立IP访问次数

需求分析

业务功能开发 

package cn.it.service;

import org.springframework.beans.factory.annotation.Autowired;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;

public class IpCountService {
    private Map<String,Integer> ipCount=new HashMap<String,Integer>();
    //当前的request对象的注入工作由使用当前starter的工程提供自动装配
    @Autowired
    private HttpServletRequest httpServletRequest;
    public void count(){
        //每次调用当前操作,就记录当前访问的IP,然后累加访问次数

        //1、获取当前的ip地址
        String ip=httpServletRequest.getRemoteAddr();
        //2、根据ip地址从map中取值,并递增
        Integer count=ipCount.get(ip);
        if(count==null){
            ipCount.put(ip,1);
        }else {
            ipCount.put(ip, count + 1);
        }
    }
}

自动配置类

package cn.it.autoConfig;

import cn
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这个人是谁呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值