springboot-web支持

1)關於配置文件
可以在resource文件夾下面生成除了application.propertites之外的其他配置文件。
比如other.properties.

但是other.properties文件默認不會加載,所以在java的bean文件想引用該配置文件裏面的屬性,必須加註解@PropertySource(“classpath:other.properties”)

@PropertySource正常會配合如下兩個註解使用:
@Component:代表這是一個普通的bean
@ConfigurationProperties(prefix=“other”):配置文件內容的前綴

如果想使用application.properties裏面的屬性,可以不需要指定@PropertySource,直接使用@Component和@ConfigurationProperties即可。

2)使用過濾器
web開發中,使用過濾器,我們正常會定義一個類實現Filter接口,然後在web.xml中將定義的過濾器配置起來。

springboot中同樣需要定義一個類實現Filter接口,然後將該過濾器註冊到上下文環境中,註冊的方法是自定義一個過濾器註冊Bean,FilterRegistrationBean,該bean負責對Filter的註冊。

@Configuration
public class MyFilterConfiguration {
    @Bean
    public FilterRegistrationBean filterRegistration() {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setFilter(new MyFilter());
        registration.addUrlPatterns("/*");
        registration.setName("MyFilter");
        registration.setOrder(1);
        return registration;
    }
}

3)關於bean屬性驗證有效的幾個註解
@NotEmpty(message=“不能爲空”)
@Max(value = 100, message = “不大於120歲”)
@Min(value= 18 ,message= “必須不小於18歲!” )
@Length(min=6,message=“長度不小於6位”)

如果定一個bean(User)使用以上註解限制屬性,配合如下使用方式:
@Valid @RequestBody User user,BindingResult result
從前段接受傳參,會將驗證的結果放置在BindingResult類型的result上。
可以按如下形式獲取傳參驗證結果:

        System.out.println("user:"+user);
        if(result.hasErrors()) {
            List<ObjectError> list = result.getAllErrors();
            for (ObjectError error : list) {
                System.out.println(error.getCode()+ "-" + error.getDefaultMessage());
            }
        }

4)兩個註解,用於注入成員變量:

    @Value("${book.title}")
    private String title;
    
    @Resource
    private Book book;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章