1、启动注解功能
·启动注解扫描,加载类中配置的注解项
<context : component-scan base-package="packageName" />
说明:
在进行包所扫描时,会对配置的包及其子包中所有文件进行扫描
扫描过程是以文件夹递归迭代的形式进行的
扫描过程仅读取合法的java文件
扫描时仅读取spring可识别的注解
扫描结束后会将可识别的有效注解转化为spring对应的资源加入loC容器
注意:
无论是注解格式还是XML配置格式,最终都是将资源加载到loC容器中,差别仅仅是数据读取方式不同
从加载效率上来说注解优于XML配置文件
2、bean的定义
2.1名称:@Component@Controller @Service @Repository
类型:类注解
位置:类定义上方
作用:设置该类为spring管理的bean
范例:
@component
public class className { }
说明:
@Controller、@Service 、@Repository是@Component的衍生注解,功能同@Component
相关属性
value(默认)∶定义bean的访问id
案例、
1、
2、
3、调用
2.2、bean的作用域
名称:@Scope
类型:类注解
位置:类定义上方
作用:设置该类作为bean对应的scope属性
范例:
@scope
public class className { }
相关属性
value (默认)︰定义bean的作用域,默认为singleton
2.3、bean的生命周期
名称:@PostConstruct、@PreDestroy
类型:方法注解
位置:方法定义上方
作用:设置该类作为bean对应的生命周期方法
范例:
@PostConstruct
public void init() { system.out.println ( "init. . . "); }
@PostConstruct和@PreDestroy是java自己提供的注解,不是Spring提供的注解
@PostConstruct
@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次。被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行。
@PreDestroy
@PreDestroy修饰的方法会在服务器卸载Servlet的时候运行,并且只会被服务器调用一次。被@PreConstruct修饰的方法会在destroy()方法之后运行,在Servlet被彻底卸载之前。
在Spring框架中使用到@PostConstruct时,被注解的方法在整个Bean初始化中的执行顺序:
Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注释的方法)
蓝色内容转载链接:https://blog.csdn.net/user2025/article/details/106343309/
案例、
小节
开启注解驱动
bean的四种注解定义格式
bean相关属性注解格式
id
class (class被省略了)
scope
init-method
destrop-method