/** * */ 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(); } }
主要通过注解的方式来手动添加要定义的类。
相关推荐
3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................
3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................
它里面包含了Spring,SpringMVC,SpringData(事务),SrpingTest等等。 其中: Spring本身里面包含了两大核心IOC和AOP。IOC负责降低我们代码间的依赖关系,使我们的项目灵活度更高,可复用性更强。AOP是让方法间...
我对Spring原理的理解处于“点到为止”的状态:对于主线流程不太重要的逻辑跳过,或者只关注它做了什么。 学习Spring原始代码查找了很多资料,分享几篇大佬写的文章,对我Spring的学习较多很大帮助 ,以...
涵盖:AnnotationConfigApplicationContext、组件添加、组件赋值、组件注入。 说起Spring,绝对是Java开发领域的佼佼者,试问,做Java开发的有谁不知道Spring?做Java开发的又有谁没用过Spring?又有哪家公司在Java ...
发现csdn上其他的spring5 源码都不能直接运行,花了大量时间自己用gradle 编辑一下spring5.1的源码,可以直接在...点进去AnnotationConfigApplicationContext类 定位一下将会发现确实是自己项目中spring-context的类
AnnotationConfigApplicationContext注解 WebApplicationContext:web环境使用的容器 注解 创建对象 Component:不分层的注解 Controller:web层 Service:service层 Repository:dao层 管理对象 注入...
目的-演示使用Bean注册依赖注入国际奥委会集装箱AnnotationConfigApplicationContext 注解@Bean @DependsOn @Autowired @PostConstruct @Config @SpringBootTest @Qualifier发展笔记在完成Part 0.0之前,请勿克隆此...
这包括从AnnotationConfigApplicationContext的实例化开始,到DefaultListableBeanFactory工厂的建立,再到AnnotatedBeanDefinitionReader的初始化,这一系列过程共同构成了Spring容器的加载核心。同时,本文还探讨...
通过精细的分析,本文揭示了AnnotationConfigApplicationContext的实例化过程,详细解读了DefaultListableBeanFactory的作用及其在Bean生产和获取中的关键性作用。同时,本文对Spring Bean的生命周期进行了深入剖析...
Conditional,@ Import注解1.1.3 Spring5深度源码分析(三)之AnnotationConfigApplicationContext启动原理分析2.手写框架2.1手写Spring事务框架2.2手写@服务和@资源注解2.3手写SpringMVC框架(手写SpringMVC控制框...
Spring 源码分析(Bean的...博文直接从ClassPathXmlApplicationContext开始分析,后续会总结基于注解的AnnotationConfigApplicationContext来分析 spring-ioc javadoop Bean的初始化 } level; then parses the contain
Spring源码深度解析与注解驱动开发文档结构1.1目录视图Spring注解驱动开发容器·AnnotationConfigApplicationContext·
spring3.1中文参考文档,南磊翻译,现在有4章,目录如下: 第一部分 Spring framework概述.......................................................................................................................
AnnotationConfigApplicationContext#refresh()的14个方法1)按照顺序执行2)第12个,第13个方法只有异常时才执行3)初始化完毕,最后清空缓存的数据,最后一个方法一定会执行1. prepareRefresh() // Prepare ...
从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类...
[main] INFO org.springframework.context.annotation.AnnotationConfigApplicationContext - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@69f4a965: startup date [Sun...
* AnnotationConfigApplicationContext:它是用于读取注解创建容器的,是明天的内容。 * * 核心容器的两个接口引发出的问题: * ApplicationContext: 单例对象适用 采用此接口 * 它在构建核心容器时,创建对象...
(三)AnnotationConfigApplicationContext实现类 (四)Import注解 (五)PropertySource注解 (六)Qualifier注解的另一种用法 (七)Spring整合junit问题分析 (八)完成Spring整合junit (一)Configuration和ComponentScan ...
注解配置上下文AnnotationConfigApplicationContext3.刷新上下文4.核心类AnnotationConfigApplicationContext的类图结构5.跟踪源码进入ioc 概要 以前总是很忙,没有时间写博客,现在挤出时间写一些总结性及实用...