spring 是一种轻量级 控制反转(IOC)和面向切面编程(AOP)的容器框架
IOC:控制反转,控制权反转,应用程序本身不负责依赖对象的创建和维护,而是由 外部容器负责创建和维护
DI :依赖注入 是其一种实现方式
目的 创建对象并且组装对象之间的关系
spring核心的配置文件 要放在src目录下
使用 ClassPathApplicationContext context = new ClassPathApplicationContext("beans.xml"); 读取到配置文件
普通对象 在配置文件中的配置 <bean id="user" class="com.zr.beans.User"></bean>
在bean标签下 可以通过<property name="" value=""/>来配置 注入对象中属性的值 这实际上是调用了类中的setter方法
也可以通过<constructor-arg name="" value=""/> 这个实际上是通过构造器注入
如果对象的属性 是一个引用类型的对象 在上两种标签中使用 ref来指定引用 指定的这个引用 必须是配置文件中有的对象
如果对象是一个集合 在上两个标签中使用<list></list> 或者 <set></set> ,还有 <map></map>
在这三个集合标签中可以使用<value>来指定基本类型的值 或者String类型的值
使用<ref bean=""> 来指定引用对象
在map标签中 使用的是 <entry key="" value-ref=""></entry>
在spring的配置文件中 bean 可以配置的属性 init-method destory-method scope lazy-init autowire
给bean中的lazy-init="true"则只有在使用的对象的时候指定的方法才会被调用。
scope 设置为singleton 单例 指的是在配置文件中的bean 只存在一份设置为prototype 每次请求获取 bean 都会创建新的对象
autowire 可以设置byName 也可设置byType 通过类型自动注入的时候 多个相同类型则不能注入
在配置注解的时候首先得先让spring容器扫描包
<context:component-scan base-package="com.sram.entity"></context:component-scan>
自动注入的时候 匹配的name的值为类名首字母小写注解
@Autowire
也可以
@Autowired
@Qualifier(value="user")配合使用
这个就相当于
@Resource(name=”user”))
常用的注解
@Autowired;//自动注入
@Qualifier;//指定要注入bean的id---配置文件中有多个bean对象的时候
@Resource;//以上两种注解的合并
@Component;//相当于在IOC容器中创建了一个类的bean,默认id是类名首字母小写
@Component注解是完成向IOC容器注入一个bean,但是在实际开发过程中@Component被进行了优化,其实就是将@Component进行分层了:@Repository(持久层) @Service(服务层) @Controller(控制层),在使用者三个注解的时候其实和直接使用@Component时一样的效果:
本文介绍Spring框架的核心配置方法及使用注解的方式进行依赖注入。内容涵盖配置文件的放置位置、对象创建与关系组装的过程,以及如何利用ClassPathApplicationContext读取配置文件。此外,还详细讲解了依赖注入的各种方式,包括通过setter方法、构造器注入以及集合类型的配置。最后,文章还介绍了Spring注解的使用方法,如@Component、@Autowired等。
1488

被折叠的 条评论
为什么被折叠?



