将组件(类)加入到ioc容器中的方法

1. 通过bean方法,可将组件加入到IOC容器中:

<bean id="XXX" class="XXX"></bean>

2. 通过注解的方式将组件加入到IOC容器中:
(A)通过给bean上添加某些注解,可以快速将组件加入到ioc容器中。
(B)在某个组件(类)上添加上任何一个注解都能快速将整个组件加入到IOC容器中。
C)spring为我们提供了一下注解:
@Controller:控制器;推荐给控制层(Servlet包下的这些)的组件加这个注解。
@Service:服务器层(业务逻辑层);我们推荐业务逻辑层的组件添加这个注解;BookService
@Repository:给数据库层(持久化层,dao层)的组件添加这个注解
@Component:给不属于以上几层的组件添加这个注解

(D)注解可以随便加,Spring底层不会去验证你的这个组件
但是推荐各自层加各自注解;注解是给我们程序员看的;

具体步骤:
1)给需要添加到IOC容器中的组件上标注对应注解;
2)告诉Spring,自动扫描加了注解的组件;依赖context名称空间;
3)导入aop包;

1)给需要添加到IOC容器中的组件上标注对应注解:

如何给现有的容器添加 pivilege 权限 容器中如何添加组件_bean

package com.atguigu.dao;

import org.springframework.stereotype.Repository;

@Repository
public class BookDao {

}
package com.atguigu.service;

import org.springframework.stereotype.Service;

@Service
public class BookService {

}
package com.atguigu.servlet;

import org.springframework.stereotype.Controller;

@Controller
public class BookServlet {

}

2)告诉Spring,自动扫描加了注解的组件;依赖context名称空间(该步在容器配置文件中添加代码):

<context:component-scan base-package="com.atguigu"></context:component-scan>

3)导入aop包(要添加至路径):

如何给现有的容器添加 pivilege 权限 容器中如何添加组件_名称空间_02


特别注意:

  1. 注解的含义:(A)说明了该类属于哪个层(B)将该类加入到了容器中。
  2. 要从容器中直接获取没有id属性(即没有bean实例)的组件时,步骤和有获取bean实例的 一样:(A)创建IOC容器(B)ioc.getbean:其中对象名是组件名首字母小写。
  3. 如果要给组件重命名,只需要在注解后面添加名字即可(如:@Service(“bookDaohahaha”)),ioc.getbean时用该名即可获取组件。
  4. 和用一样,Spring默认单实例。
  5. 要将组件变为多实例,可在组件上再添加一个注解:


如何给现有的容器添加 pivilege 权限 容器中如何添加组件_bean_03