1、使用注解的方式
扫描包注解的类,批量加载springbean
<context:component-scan base-package="cn.*"></context:component-scan>
把当前注解的类,声明为springbean,默认名字为首字母小写的全拼 <bean id="userDaoImpl" class="cn.dao.impl.UserDaoImpl"></bean>
@Component 用于管理组件的通用模式
@Repository 用于持久层(dao),表示当前是持久层的组件
@Service 用于服务层
@Controller 用于控制层
@Autowired 通过类型去查找匹配,会到spring的beans去根据当前配置的对象的类型去查找。局限性:不能有多余1个实现类
@Qualifier(“userDaoImpl”) 匹配springbean的名字,用于和@@Autowired配置使用,不能单独使用
@Resource 会根据名字进行匹配
2、springBean的装配方式
1.1基于xml配置文件的装配方式
//必须有setter方法
//必须有无参构造
1.2基于注解的装配方式(常用方法)
3、Bean的作用域
作用域scope 默认singleton:单例模式。缺省就是singleton。只有一份实例
“prototype”:原型模式。每次通过spring容器来获取springbean时,容器都会创建一个新的实例进行返回
request:同一请求是同一个实例。
session:同一会话是同一个实例。
4、spring的注入
当实例化某个对象的时候,有外部的容器来设置这个对象的值。
属性值的注入,一定要有对应的setter方法
property 当前配置的类的属性
name:属性的名字
value:注入的值
ref:指向其他的bean 的id