# SpringDemo **Repository Path**: Hinak0/spring-demo ## Basic Information - **Project Name**: SpringDemo - **Description**: 用简洁的语言描述一下吧 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-07 - **Last Updated**: 2022-10-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SPRING Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。\ 这玩意的好处是可以管理对象的生命周期,达到解耦的目的。 ## spring配置 ### scope(作用范围) - singleton (默认单例) - 生命周期和容器相同 - prototype (多例) - `getBean()`时创建 - 长时间不使用会被垃圾回收 - request (单次请求) - session (单次会话) ### 生命周期配置 `init-method`和`destory-method`配置初始化方法和销毁方法 ### 实例化方式 - 默认无参构造 - 工厂静态方法(指定`factory-method`) - 工厂实例方法(指定`factory-bean`) ### 依赖注入 - p命名空间,``通过`set`方法注入 - ``通过有参构造注入 - 基本数据类型使用``注入 - 集合数据类型采用`等` ### 引入其他配置文件 `` ## spring API ### ApplicationContext的实现类 - `ClassPathXmlApplicationContext`从类的根路径加载配置文件 - `FileSystemXmlApplicationContext`从磁盘加载配置文件 - `AnnotationConfigApplicationContext`从注解获取spring容器 ## spring注解开发 ![](images/08071445.png) SpringBoot中都是老熟人了。\ **`@Component('id')`标识组件->`@ComponentScan('path')`配置包扫描->`@Autowired`注入组件** ![](images/08071531.png) ### `@Configuration`与`@Bean` 这两个注解标志一个类称为**核心配置类**,将一个方法的返回值作为一个Bean.