简介:以本片记录在尚硅谷学习ssm-spring-ioc时遇到的小知识
详情移步:想参考的朋友建议全部打开相互配合学习!
视频:
014-spring-框架概念理解_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1AP411s7D7?p=14&vd_source=223a87903958449ce583f88ed16f7b46博客:
二、SpringFramework实战指南 (wolai.com)https://www.wolai.com/oacbJpH1wPzGNoMAVnoELR辅助:
Spring/Spring.md · cosen/Java-Interview - Gitee.comhttps://gitee.com/cosen1024/Java-Interview/blob/main/Spring/Spring.md#1-%E4%BD%BF%E7%94%A8spring%E6%A1%86%E6%9E%B6%E7%9A%84%E5%A5%BD%E5%A4%84%E6%98%AF%E4%BB%80%E4%B9%88Spring常见面试题总结 | JavaGuidehttps://javaguide.cn/system-design/framework/spring/spring-knowledge-and-questions-summary.html
三、Spring IoC容器和核心概念
3.2 Spring IoC容器和容器实现
3.3 Spring IoC / DI概念总结
四、Spring IoC实践和应用
4.1 Spring IoC / DI 实现步骤
4.2 基于XML配置方式组件管理
4.2.1 实验一: 组件(Bean)信息声明配置(IoC)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 1.可以使用无参数构造函数实例化的组件,如何进行ioc配置呢
<bean - 一个bean标签表示一个组件信息,一个组件对象
id - 组件的唯一标识,通过id引用这个组件
class - 组件的全类名,通过反射创建对象,必须指定
将一个组件类 - 声明两个组件信息 -默认是单例的 -会实例化两个组件对象
new
new
-->
<bean id="happyComponent" class="com.ailink.ioc_01.HappyComponent"></bean>
<bean id="happyComponent2" class="com.ailink.ioc_01.HappyComponent"></bean>
<!-- 2.静态工厂类如何声明工厂方法进行ioc配置呢
<bean
id - 组件唯一标识
class - 静态工厂类的全类名
factory-method - 工厂方法名称
-->
<bean id="clientService" class="com.ailink.ioc_01.ClientService" factory-method="createInstance"></bean>
<!-- 3.非静态工厂类/实例工厂类如何声明工厂方法进行ioc配置呢 -->
<!--3.1配置工厂类的组件信息-->
<bean id="defaultServiceLocator" class="com.ailink.ioc_01.DefaultServiceLocator"></bean>
<!--3.2配置非静态工厂类的组件信息-->
<bean id="clientService2" factory-bean="defaultServiceLocator" factory-method="createClientServiceInstance"></bean>
</beans>
4.2.2 实验二: 组件(Bean)依赖注入配置(DI)
4.2.3 实验三: lo℃ 容器创建和使用
4.2.4 实验四: 高级特性:组件(Bean)作用域和周期方法配置
4.2.5 实验五:高级特性:FactoryBean 特性和使用
4.2.6 实验六:基于XMIL 方式整合三层架构组件
4.3 基于 注解 方式管理 Bean
4.5 三种配置方式总结
4.5.1 XML方式配置总结
1. 所有内容写到xml格式配置文件中
2. 声明bean通过<bean标签
3. <bean标签包含基本信息(id,class)和属性信息 <property name value / ref
4. 引入外部的properties文件可以通过<context:property-placeholder
5. IoC具体容器实现选择ClassPathXmlApplicationContext对象
4.5.2 XML+注解方式配置总结
1. 注解负责标记IoC的类和进行属性装配
2. xml文件依然需要,需要通过<context:component-scan标签指定注解范围
3. 标记IoC注解:@Component,@Service,@Controller,@Repository
4. 标记DI注解:@Autowired @Qualifier @Resource @Value
5. IoC具体容器实现选择ClassPathXmlApplicationContext对象
4.5.3 完全注解方式配置总结
1. 完全注解方式指的是去掉xml文件,使用配置类 + 注解实现
2. xml文件替换成使用@Configuration注解标记的类
3. 标记IoC注解:@Component,@Service,@Controller,@Repository
4. 标记DI注解:@Autowired @Qualifier @Resource @Value
5. <context:component-scan标签指定注解范围使用@ComponentScan(basePackages = {"com.atguigu.components"})替代
6. <context:property-placeholder引入外部配置文件使用@PropertySource({"classpath:application.properties","classpath:jdbc.properties"})替代
7. <bean 标签使用@Bean注解和方法实现
8. IoC具体容器实现选择AnnotationConfigApplicationContext对象