Spring 中获取 Bean 对象的方式

Spring 中获取 Bean 对象的方式
目录1. Object getBean(String beanName)2. T getBean(Class type)3. T getBean (String nameClass type)我们知道Spring 框架实现了依赖注入控制反转除去了我们自行创建对象的一个过程使我们在项目上大程度的实现了解耦在获取 Bean 对象的时候Spring 框架为我们提供了三种获取方式。1. Object getBean(String beanName)该方法是通过名称获取 Bean 对象参数就是要传入获取的Bean对向的名称并且要求 Bean 对象唯一该方法的返回值是Object对象而我们通常需要的类型是 xxxDaoxxxService数据访问层或业务层具体对象因此在获取之后我们需要对它做强转转变为我们为你需要的类型。示例代码如下// 通过 ApplicationContext 容器获取到 UserService 对象并作强转 UserService userService (UserService) applicationContext.getBean(userService);2. T getBean(Class type)该方法是一个泛型方法参数需要传递一个类的字节码对象返回值是Class的类型实例因为该方法指定了具体的字节码文件对象所以不需要再做强转。示例如下// 通过类的字节码文件对象获取 Bean 对象前提是该UserService只定义了一个Bean // 假设我们在xml配置文件中定义了两个BeanuserService1和 userService2, // 使用该方法获取Bean对象时就会报错因为容器不知道你要获取的是 userService1 // 还是要获取 userService2 的对象所以该方法仅限于Bean只定义了一个时使用切记 UserService userService applicationContext.getBean(UserService.class);3. T getBean (String nameClass type)该方法差不多算是前两种方法的结合它不需要做强转因为在参数列表我们可以传入一个类的字节码文件对象底层已近进行了转化方法返回值也是一个 Class 实例。示例如下// 第一个参数传递要获取的指定Bean第二个参数传递Bean的字节码文件对象。 UserService userService applicationContext.getBean(userService,UserService.class);

最新新闻

日新闻

周新闻

月新闻