- id: 唯一约束,不能出现特殊字符
- name: 理论上可以重复,但是开发中最好不要 。可以出现特殊字符
- init-method: bean被初始化的时候执行的方法
- destroy-method: bean被销毁的时候执行的方法
- scope: bean的作用范围,有如下几种,常用的是前两种 singleton: 默认使用单例模式创建 prototype: 多例 request: 在web项目中,spring 创建类后,将其存入到 request 范围中 session: 在web项目中,spring 创建类后,将其存入到 session 范围中 globalsession: 在web项目中,必须用在 porlet 环境
- 构造方法方式的属性注入: Car 类在构造方法中有两个属性,分别为 name 和 price 。
<constructor-arg name="name" value=https://www.isolves.com/it/cxkf/kj/2020-03-03/"bmw">
<constructor-arg name="price" value=https://www.isolves.com/it/cxkf/kj/2020-03-03/"123">
</bean>
2.set 方法属性注入: Employee 类在有两个 set 方法,分别设置普通类型的 name 和引用类型的 Car (使用 ref 指向引用类型的 id 或 name) 。
<bean id="employee" class="demo.Employee">
<property name="name" value=https://www.isolves.com/it/cxkf/kj/2020-03-03/"xiaoming">
<property name="car" ref="car">
</bean>
3.P名称空间的属性注入: 首先需要引入p名称空间:
<beans xmlns="http://www.springframework.org/schema/beans"
//引入p名称空间
xmlns:p="http://www.springframework.org/schema/p"
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">
</beans>
如果是普通属性:
<bean id="car" class="demo.Car" p:name="bmv" p:price="123">
</bean>
如果是引用类型:
<bean id="employee" class="demo.Employee" p:name="xiaoming" p:car-ref:"car">
</bean>
4.SpEL(Spring Expression Language)属性注入(Spring 3.x以上版本)
<bean id="car" class="demo.Car">
<property name="name" value=https://www.isolves.com/it/cxkf/kj/2020-03-03/"#{'xiaoming'}">
<property name="car" ref="#{car}">
</bean>
5.集合类型属性注入:
<bean id="car" class="demo.Car">
<property name="namelist">
<list>
<value>qirui</value>
<value>baoma</value>
<value>benchi</value>
</list>
</property>
</bean>
多模块开发配置
- 在加载配置文件的时候,加载多个配置文件
- 在一个配置文件中引入多个配置文件,通过实现
- 引入jar包: 除了要引入上述的四个包之外,还需要引入aop包 。
- 创建 applicationContext.xml ,使用注解开发引入 context 约束(xsd-configuration.html)
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!-- bean definitions here -->
</beans>
- 组件扫描: 使用IOC注解开发,需要配置组件扫描,也就是哪些包下的类使用IOC的注解 。
- 在类上添加注解
- 使用注解设置属性的值
属性没有set方法,将注解添加到属性上 。
@Component("UserDao")//相当于配置了一个<bean> 其id为UserDao,对应的类为该类
public class UserDAOImpl implements UserDAO {
@Override
public void save() {
// TODO Auto-generated method stub
System.out.println("save");
}
}
注解详解
- @Component
有三个衍生的注解,功能类似,也用来修饰类 。
推荐阅读
- 抖音客服的工作靠谱么 抖音售后客服是干嘛的
- 淘宝店铺的规则主要有哪一些 开淘宝店的规则是什么
- 淘宝不按时发货的惩罚 淘宝店铺未按照约定时间发货有赔偿吗
- 推荐几个开发必备的JSON工具
- 福鼎大白茶,福鼎大白茶的优势
- 福鼎大毫茶,福鼎大白与福鼎大毫茶树的生长条件介绍
- 提高搜索引擎对网站信用度的方法
- 升级win10系统必须要做的5件事,装机、重装系统必知
- 与程序员相关的CPU缓存知识
- 福建绿茶,福建的绿茶种类