如下用@Configuration为TestFilter创建Bean.
@Configuration
@EnableConfigurationProperties(RedisProperties.
class)
public class AutoConfig {
@Autowired
RedisProperties
redisProperties;
public AutoConfi(){
System.
out.println(
"AutoConfig initialization.....");
}
@Bean
public TestFilter getTestFilter() {
return new TestFilter();
}
}
1. 带@Configuration注解的类要使此注解发挥作用有两种办法,一是让被纳入启动类的scanBasePackages,而是被纳入spring.factories.
2. 方法名最好不要和项目中已经存在的类名一样,在上面的例子中方法名为getTestFilter,假设项目中存在类名为TestClass的类,然后这里又使用testClass(注意首字母为小写)作为方法名,
那么就有可能Bean TestFilter不会被创建,所以@Bean得方法名最好使用规范getXxxxxx。
3. @EnableConfigurationProperties告知Spring在实例化AutoConfig之前实例化RedisProperties(此类必须带注解@ConfigurationProperties,带此注解的类并不会被
Spring实例化,只是会被加载进Environment),然后就可以用@Autowired引用。