AnnotationConfigApplicationContext】的更多相关文章

说明 使用AnnotationConfigApplicationContext可以实现基于Java的配置类加载Spring的应用上下文.避免使用application.xml进行配置.相比XML配置,更加便捷. 示例 AppConfig.java package com.myapp.config; import com.myapp.Entitlement; import org.springframework.context.annotation.Bean; import org.springf…
非web环境的spring应用 springframework提供的spring容器,非常适合应用于javaweb环境中. 同时,spring组件的低耦合性为普通java应用也提供了足够的支持. 以下,我们通过一个范例来了解spring在普通java application project中的应用. 开发环境及工具 JDK 1.8 Eclipse - jee - Oxygen3a Maven 3.5.2 spring framework 5.1.3 spring特点 上帝类 spring容器就是…
一.配置注解读取配置文件         (1)@PropertySource可以指定读取的配置文件,通过@Value注解获取值   实例:           @PropertySource(value = {"classpath:jdbc.properties"})        注意如果是多个配置文件配置,用逗号隔开            @PropertySource(value = {"classpath:jdbc.properties","cl…
Spring在BeanFactory基础上提供了一些列具体容器的实现,其中AnnotationConfigApplicationContext是一个用来管理注解bean的容器,从AnnotationConfigApplicationContext的实现结构图中可以看出: AnnotationConfigApplicationContext继承GenericApplicationContext这个通用应用上下文,GenericApplicationContext内部定义了一个DefaultList…
public static void main(String[] args) {ApplicationContext ctx = new AnnotationConfigApplicationContext(MyServiceImpl.class, Dependency1.class, Dependency2.class);MyService myService = ctx.getBean(MyService.class);myService.doStuff();} //register 的代码…
当我们run一段代码,像下面这样两行.spring究竟做了什么些,让整个容器准备就绪,交付给用户直接可用的各种特性.为了弄清楚,默默梳理记录下来. public static void main (String[] args) { AnnotationConfigApplicationContext c = new AnnotationConfigApplicationContext(MyBean.class); c.getBean(MyBean.class).getS(); } 首先来看下 A…
package com.test; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Properties; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.core.env.Properti…
一:spring的容器就是bean所居住的地点,这个居民点有很多的bean,有外来的bean(相当于创建了一个bean),有出去谋生的(相当于消亡了一个bean),他们之间都有某种联系 (bean与bean之间的联系spring通过wiring 来实现).而这个居民点在spring中就是BeanFactory这个接口,至于ClassPathXmlApplicationContext.AnnotationConfigApplicationContext. AnnotationConfigWebAp…
import org.springframework.context.annotation.AnnotationConfigApplicationContext; 使用AnnotationConfigApplicationContext可以实现基于Java的配置类加载Spring的应用上下文.避免使用application.xml进行配置.在使用spring框架进行服务端开发时,个人感觉注解配置在便捷性,和操作上都优于是使用XML进行配置; 使用JSR250注解需要在maven的pom.xml里…
代码地址:https://github.com/showkawa/spring-annotation/tree/master/src/main/java/com/brian AnnotationConfigApplicationContext启动原理分析主要分析下面三点 1.@Qualifier与@Primary注解的使用2.BeanFactory与ApplicationContext区别3.AnnotationConfigApplicationContext启动原理分析 1.@Qualifie…
前言: 主要了解的内容有如下几点: @Qualifier与@Primary注解的使用 Spring中ApplicationContext的作用 BeanFactory与ApplicationContext区别 AnnotationConfigApplicationContext启动原理分析 假设 IUser两个实现类UserImpl1 和 UserImpl2 1. @Autowired + @Qualifier("UserImpl1") 可以指定使用哪个实现类. 也可以 @Resour…
目前这个配置文件除了导约束就没有其他的内容了. 删除这个bean.xml文件 但是测试类里面还是读取的xml的信息 注解 查看ApplicationContext的 关系图 查看实现类的实现类 之前我们一直都应的是ClassPathXmlApplicationContext ClassPathXmlApplicationContext的上面有一个AnnotationConfigApplicationContext 备注接的类.就是被@Configuration注解过的类 把后面的测试方法都替换掉…
1. AnnotationConfigApplicationContext功能 该类可以实现基于Java的配置类加载自定义在Spring的应用上下文的bean. 1.1 使用方式一:在构造方法中完成注册和刷新 AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(MessageConfiguration.class); System.out.println(ctx.getBean("bean…
Spring AnnotationConfigApplicationContext 概述 通常Spring XML文件用来作为ClassPathXmlApplicationContext 的初始化.@Configuration 标注的类能够用来初始化AnnotationConfigApplicationContext类,这样就可以提供Spring容器的完全的自由的无XML用法 AnnotationConfigApplicationContext继承GenericApplicationContex…
AnnotationConfigApplicationContext 内部使用了AnnotatedBeanDefinitionReader:ClassPathBeanDefinitionScanner /** 使用AnnotatedBeanDefinitionReader读取配置类*/ public void register(Class<?>... annotatedClasses) { Assert.notEmpty(annotatedClasses, "At least one…
AnnotationConfigApplicationContext(1)初始化Scanner和Reader 我们以AnnotationConfigApplicationContext为起点来探究Spring的启动过程 首先引入眼帘的就是AnnotationConfigApplicationContext的构造方法,而我们今天只来探讨this(); public AnnotationConfigApplicationContext(Class<?>... componentClasses) {…
前言 译文链接:http://websystique.com/spring/spring-job-scheduling-with-scheduled-enablescheduling-annotations/ 本文展示如何使用Spring的@Scheduled和@EnableScheduling注解来实现任务调度功能. 涉及技术及开发工具 Spring 4.0.6.RELEASE Maven 3 JDK 1.6 Eclipse JUNO Service Release 2 工程目录结构 步骤一:…
前言 译文链接:http://websystique.com/spring/spring4-hibernate4-mysql-maven-integration-example-using-annotations/ 本文将基于注解配置, 集成Spring 4和Hibernate 4,开发一个增删改查应用,涉及以下内容: 创建Hibernate实体 保存数据到mysql数据库中 在事务transaction内部执行增删改查操作 典型企业应用中不同层之间的交互 基于注解配置 当然,我们也会给出XML…
前言 译文链接:http://websystique.com/spring/spring-profile-example/ 本文将探索Spring中的@Profile注解,可以实现不同环境(开发.测试.部署等)使用不同的配置.同样,除了使用注解也会给出基于XML配置的示例作为对比. 假设你有一个应用涉及数据库交互,你可能希望在开发环境上使用mysql数据库,在生产环境上使用oracle数据库,那么使用Spring的Profiles,可以轻松达到这个目的,接下来我们将给出一个实例详细介绍这种情况.…
前言 译文链接:http://websystique.com/spring/spring-propertysource-value-annotations-example/ 本篇文章将展示如何通过@PropertySource 和 @Value注解从配置文件中读取属性值. 同样,我们也会讨论Spring的Environment接口,还会看到使用XML配置和使用注解的对比. Spring的@PropertySource注解主要是让Spring的Environment接口读取属性配置文件用的,这个注…
前言 译文链接:http://websystique.com/spring/spring-auto-detection-autowire-component-scanning-example-with-annotations/ 在本篇文章我们会看到Spring是如何通过component-scanning配置,在没有使用@Bean和@Configuration声明bean,也没有使用XML配置声明bean的情况下,自动检测到程序中配置的bean,并且自动装配这些bean. 对于component…
前言 译文链接:http://websystique.com/spring/spring-4-hello-world-example-annotation-tutorial-full-example/ 这个教程将展示一个基于Spring注解配置的Spring 4 Hello world例子,解释Spring 4的基本概念和使用方法. 同样也会提供基于XML配置的示例作为两者的一个比较,我们将创建一个基于maven工程,使用spring版本为4.0.6. 涉及的相关技术及开发工具 Spring 4…
org.springframework.context.annotation @annotation.Target({ElementType.TYPE}) @annotation.Retention(RetentionPolicy.RUNTIME) @annotation.Documented @org.springframework.stereotype.Component public interface Configuration extends annotation.Annotation…
@Service与@Component有什么不同?那天被问到这个问题,一时之间却想不起来,就利用这篇文章来纪录spring3.0中常用的annotation. 从spring2.5开始,annotation结合BeanPostProcessor成了扩展Spring IoC容器的常用方法.Spring2.5增加了对JSR-250中@Resource, @PostConstruct, @PreDestroy的支持,Spring 3.0又增加了对JSR-330 (Dependency Injectio…
@ImportResource in spring imports application xml in configuration file which is using @Configuration. All the beans and other properties defined in application xml can be imported. @ImportResource helps when we are moving our application from old st…
spring boot提供了sample程序,学习spring boot之前先跑一个最简单的示例: /* * Copyright 2012-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * Y…
原文地址:http://www.concretepage.com/spring-4/spring-4-reactor-integration-example Reactor is a framework to make event driven programming much easier. This is based on Reactor Design Pattern. Reactor is good for asynchronous applications on the JVM. Her…
环境 本文基于Spring Boot版本1.3.3, 使用了spring-boot-starter-web. 配置完成后,编写了代码如下: @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } @RestController public class RootCont…
读spring in action. 环境搭建 quick-start依赖注入 面向切面 1.环境搭建 jdk1.8 gradle 2.12 Intelij idea 2016.2.1 1.1创建一个gradle项目 在idea中,new -> project -> gradle 创建一个空项目.创建成功后修改build.gradle : group 'com.test' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'wa…
上面梳理了通过注解来隐式的完成了组件的扫描和自动装配,下面来学习下如何通过显式的配置的装配bean 二.通过Java类装配bean 在前面定义了HelloWorldConfig类,并使用@ComponentScan和@Configuration注解,@Configuration注解表明了这个类是一个java配置类,该类用在获取Spring应用上下文时,告诉Spring创建bean的细节,通过@ComponentScan,我们启用了Spring的自动组件扫描,现在就让我们来看如果通过java类来显…