spring boot(二)拦截器,自定义配置文件

参考博客:https://www.cnblogs.com/ityouknow/p/5730412.html

自定义Filter:       

com/example/demo/config/WebConfiguration.java:

package com.example.demo.config;

import org.apache.catalina.filters.RemoteIpFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

/**
 * 自定义 Filter
 * 1.实现 Filter 接口,实现 Filter 方法
 * 2.添加@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("paramName", "paramValue");
        registration.setName("MyFilter");
        registration.setOrder(1);
        return registration;
    }

    public class MyFilter implements Filter {

        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
            // TODO Auto-generated method stub
        }

        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
            // TODO Auto-generated method stub
            HttpServletRequest request = (HttpServletRequest) servletRequest;
            System.out.println("this is MyFilter,url :"+request.getRequestURI());
            filterChain.doFilter(servletRequest, servletResponse);
        }

        @Override
        public void destroy() {
            // TODO Auto-generated method stub
        }
    }

}

自定义配置文件properties:

src/main/resources/application.propertis:

com.demo.title=纯洁的微笑
com.demo.description=分享生活和技术

HelloController:

package com.example.demo.controller;

import com.example.demo.domain.User;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 〈hello Controller〉<br>
 */
@RestController
public class HelloController {

    @Value("${com.demo.title}")
    private String title;
    @Value("${com.demo.description}")
    private String description;

    @RequestMapping("/getUser")
    public User getUser(){
        User user=new User();
        user.setUserName("小明");
        user.setPassWord("xxxx");

        System.out.println("title:" + title + "description:" + description);

        return user;
    }
}

 

启动DemoApplication.java,浏览器输入http://localhost:8080/getUser,可见:

console:

this is MyFilter,url :/getUser
title:纯洁的微笑description:分享生活和技术
posted on 2019-04-28 11:27  有点懒惰的大青年  阅读(577)  评论(0)    收藏  举报