Spring注解版的学习
Spring注解版的学习
一直看视频学习,2倍速看,然后看完打算打一下代码,啥也不记得…还是记录一下学习的内容吧,希望能帮到大家,我的博客比较浅显,但不一定易懂,主要是为了大家能够指点指点我,其次再是帮到大家(狗头保命)
配置类
@Configuration
public class Myconfig {
@Bean(value = "linus")
public Person person04(){
return new Person("linus",50);
}
}
配置类的作用和配置文件一样,在里面编写bean的注入代码
@Bean是一种简单的注入方式,bean的类型默认是返回值类型,bean的id是方法名(首字母小写)
@Bean(“name”) 也可以以这种形式更改注入bean的id
包的扫描
以前通过配置文件进行bean的注册的时候,也是需要包扫描配置(将指定路径下的类扫描,判断是否有@Component、@Service、@Controller、@Repository注解
那注解版的Spring如何进行包的扫描呢
@ComponentScan(value = "com.pdd")//扫描com.pdd下的类
//扫描com.pdd下的类包含下面的扫描规则
@ComponentScan(value = "com.pdd",includeFilters =
{@ComponentScan.Filter(type = FilterType.CUSTOM,classes = {MyTypeFilter.class}
)}, useDefaultFilters = false
)
/*excludeFilters 排除哪些扫描规则
* includeFilters 包含哪些扫描规则 需要先禁用默认规则 useDefaultFilters = false
* /
/*
* FilterType.ANNOTATION 是根据注解类型扫描
* FilterType.ASSIGNABLE_TYPE根据给定的类型扫描包括其实现类
* FilterType.REGEX 根据正则表达式
* FilterType.CUSTOM根据自定义过滤规则过滤
* /
自定义过滤规则的使用
1.实现接口TypeFilter
2.重写方法
3.制定规则 返回true就是匹配成功会被扫描到注入到容器 false则不会
4.了解重写方法参数的作用与意义 如下:
public class MyTypeFilter implements TypeFilter {
@Override
/*返回true就是匹配成功 false就是匹配失败
*