`

spring extral features-----AnnotationConfigApplicationContext

 
阅读更多
/**
 * 
 */
package cn.ythd.spring.service.impl;


import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import cn.ythd.spring.Quality;
import cn.ythd.spring.service.UserService;

/**
 * @author 
 * 2013-6-29
 */
@Quality
@Component
@Scope(value="prototype")
public class UserServiceImpl2 implements UserService {

	/**
	*----2013-6-29
	*/
	public void save(String name, String password) {
		System.out.println("user service impl 2 save method");
		
	}

}

  测试类如下:

/**
 * 
 */
package cn.ythd.spring.test;

import junit.framework.Assert;

import org.junit.Test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import cn.ythd.spring.service.UserService;
import cn.ythd.spring.service.impl.UserServiceImpl2;

/**
 * @author gongz
 * 2013-6-30
 */
public class AnnotationConfigApplicationContextTestDemo {

	@Test
	public void test1(){
		
		//该类继承自GenericApplicationContext 所以也具有动态创建对象、处理依赖的特性
		AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext();
		//该对象也是一个BeanDefinitionRegistry对象
		//context.registerBeanDefinition(beanName, beanDefinition)
		//注册的注解类可以没有任何的注解,但是如果需要一些个特殊需求(例如bean的个数,事务特性)的时候,就需要定义注解
                context.register(UserServiceImpl2.class);
		
		UserService userService=context.getBean(UserService.class);
		
		Assert.assertNotNull(userService);
		
		UserService userService2=context.getBean(UserService.class);
		
		Assert.assertNotSame(userService, userService2);
		
		System.out.println(userService2==userService);//false
		
		context.refresh();
		
		userService.save("123456", "password");
		
		context.close();
		
	}
}

 

主要通过注解的方式来手动添加要定义的类。

分享到:
评论

相关推荐

    spring-framework-reference-4.1.2

    3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................

    spring-framework-reference4.1.4

    3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................

    Spring高级之注解驱动开发视频教程

    它里面包含了Spring,SpringMVC,SpringData(事务),SrpingTest等等。 其中: Spring本身里面包含了两大核心IOC和AOP。IOC负责降低我们代码间的依赖关系,使我们的项目灵活度更高,可复用性更强。AOP是让方法间...

    spring-framework5.1.7:spring-framework5.1.7源码解析

    我对Spring原理的理解处于“点到为止”的状态:对于主线流程不太重要的逻辑跳过,或者只关注它做了什么。 学习Spring原始代码查找了很多资料,分享几篇大佬写的文章,对我Spring的学习较多很大帮助 ,以...

    《Spring IOC核心技术》- 冰河原创电子书

    涵盖:AnnotationConfigApplicationContext、组件添加、组件赋值、组件注入。 说起Spring,绝对是Java开发领域的佼佼者,试问,做Java开发的有谁不知道Spring?做Java开发的又有谁没用过Spring?又有哪家公司在Java ...

    spring5源码 gradle编译好的,可以直接在idea运行,包含demo-test测试模块

    发现csdn上其他的spring5 源码都不能直接运行,花了大量时间自己用gradle 编辑一下spring5.1的源码,可以直接在...点进去AnnotationConfigApplicationContext类 定位一下将会发现确实是自己项目中spring-context的类

    Spring.html

    AnnotationConfigApplicationContext注解 WebApplicationContext:web环境使用的容器 注解 创建对象 Component:不分层的注解 Controller:web层 Service:service层 Repository:dao层 管理对象 注入...

    Maven.Spring-BeansLearnerLab

    目的-演示使用Bean注册依赖注入国际奥委会集装箱AnnotationConfigApplicationContext 注解@Bean @DependsOn @Autowired @PostConstruct @Config @SpringBootTest @Qualifier发展笔记在完成Part 0.0之前,请勿克隆此...

    深入解析Spring IoC:源码与实践指南

    这包括从AnnotationConfigApplicationContext的实例化开始,到DefaultListableBeanFactory工厂的建立,再到AnnotatedBeanDefinitionReader的初始化,这一系列过程共同构成了Spring容器的加载核心。同时,本文还探讨...

    深入解析Spring IoC源码:核心机制与实践应用

    通过精细的分析,本文揭示了AnnotationConfigApplicationContext的实例化过程,详细解读了DefaultListableBeanFactory的作用及其在Bean生产和获取中的关键性作用。同时,本文对Spring Bean的生命周期进行了深入剖析...

    spring-annotation:1.Spring 5.X源码分析2.手写框架3.设计模式4.Springcloud2 5.互联网高并发场景6.互联网安全架构

    Conditional,@ Import注解1.1.3 Spring5深度源码分析(三)之AnnotationConfigApplicationContext启动原理分析2.手写框架2.1手写Spring事务框架2.2手写@服务和@资源注解2.3手写SpringMVC框架(手写SpringMVC控制框...

    Spring 源码分析(Bean的初始化)

    Spring 源码分析(Bean的...博文直接从ClassPathXmlApplicationContext开始分析,后续会总结基于注解的AnnotationConfigApplicationContext来分析 spring-ioc javadoop Bean的初始化 } level; then parses the contain

    Spring源码深度解析与注解驱动开发1

    Spring源码深度解析与注解驱动开发文档结构1.1目录视图Spring注解驱动开发容器·AnnotationConfigApplicationContext·

    spring3.1中文参考文档

    spring3.1中文参考文档,南磊翻译,现在有4章,目录如下: 第一部分 Spring framework概述.......................................................................................................................

    spring-framework:spring的原始代码解读和分析;日常

    AnnotationConfigApplicationContext#refresh()的14个方法1)按照顺序执行2)第12个,第13个方法只有异常时才执行3)初始化完毕,最后清空缓存的数据,最后一个方法一定会执行1. prepareRefresh() // Prepare ...

    spring4.0 Configuration的使用.docx

    从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类...

    demo-tcp:如何使用TcpOperations

    [main] INFO org.springframework.context.annotation.AnnotationConfigApplicationContext - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@69f4a965: startup date [Sun...

    程序间耦合.docx

    * AnnotationConfigApplicationContext:它是用于读取注解创建容器的,是明天的内容。 * * 核心容器的两个接口引发出的问题: * ApplicationContext: 单例对象适用 采用此接口 * 它在构建核心容器时,创建对象...

    Spring之新注解(六)

    (三)AnnotationConfigApplicationContext实现类 (四)Import注解 (五)PropertySource注解 (六)Qualifier注解的另一种用法 (七)Spring整合junit问题分析 (八)完成Spring整合junit (一)Configuration和ComponentScan ...

    1、spring源码解析之概况流程

    注解配置上下文AnnotationConfigApplicationContext3.刷新上下文4.核心类AnnotationConfigApplicationContext的类图结构5.跟踪源码进入ioc 概要 ​ 以前总是很忙,没有时间写博客,现在挤出时间写一些总结性及实用...

Global site tag (gtag.js) - Google Analytics