SpringBoot学习笔记(二):Web简单开发

  • SpringBoot Web开发非常简单,包括json输出、自定义filter、property操作等

一、项目结构

在这里插入图片描述

二、Json 接口开发

  • 需要类添加 @RestController 或(@Controller+@ResponseBody),默认类中的方法都会以 json 的格式返回

三、自定义 Filter

两个步骤

  1. 实现 Filter 接口,实现 Filter 方法
public class MyFilter implements Filter {
    @Override
	public void destroy() {}
	@Override
	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
                         FilterChain filterChain)throws IOException, ServletException {
		HttpServletRequest request = (HttpServletRequest) servletRequest;
		System.out.println("This is MyFilter,url :"+request.getRequestURI());
		filterChain.doFilter(servletRequest, servletResponse);
	}
	@Override
	public void init(FilterConfig arg0) throws ServletException {}
}
  1. 增加配置类,类上添加**@Configuration** 注解,将自定义Filter加入过滤链
@Configuration
public class WebConfiguration {
    @Bean
    public RemoteIpFilter remoteIpFilter() {
        return new RemoteIpFilter();
    }    
    @Bean
    public FilterRegistrationBean testFilterRegistration() {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setFilter(new MyFilter()); //添加过滤器
        registration.addUrlPatterns("/*");      //设置过滤路径
        registration.addInitParameter("name", "Filter");//添加默认参数
        registration.setName("MyFilter");
        registration.setOrder(1);   //执行的顺序
        return registration;
    }
}

四、自定义 Property

  1. 配置在 application.properties
config.title=CSDN
config.description=分享技术的网站
  1. 自定义配置类
  • @Value:单个注入值
  • @ConfigurationProperties:批量注入配置文件中的属性
@Component
public class NeoProperties {
	@Value("${config.title}")
    private String title;
    @Value("${config.description}")
	private String description;
	//省略getter settet方法
}
@Component
@ConfigurationProperties(prefix = "config")
public class ConfigProperties {
    private String title;
    private String description;
    //省略getter settet方法
}

五、控制类

@RestController
public class MyController {
    @Autowired
    private ConfigProperties configProperties;
    @Autowired
    FilterRegistrationBean registration;
    /**
    * 返回信息配置类*/
    @RequestMapping("/config")
    public String getConfig(){
        StringBuffer result=new StringBuffer();
        String title = configProperties.getTitle();
        String description = configProperties.getDescription();
        result.append(title).append(",").append(description);
        return result.toString();
    }
    /**
     * 返回过滤器初始化参数
     */
    @RequestMapping("/parameters")
    public Map<String, String> getName() {
        Map<String, String> initParameters = registration.getInitParameters();
        return initParameters;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ChenBbMing

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

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

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

打赏作者

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

抵扣说明:

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

余额充值