用Java的方式配置Spring ,不使用Spring的XML配置,全权交给Java来做

JavaConfig是Spring的一个子项目,在Sring 4  之后成为核心功能

这种纯Java的配置方式,在SpringBoot中随处可见!

项目结构

配置类

@Configuration    // beans   与Component有什么区别   :也会被Spring容器注册,本身也是一个@Component
//@Configuration代表这是一个配置类,就和之前的beans.xml
@ComponentScan("com.ljm") //包的扫描
@Import(My_config02.class) //引入其他的配置类(就可以用它里面的bean了)
public class My_config {
@Bean //注册一个bean 相当于beans 里面的bean
// ID是方法名 class 是函数返回值
public User getUser01(){
return new User(); //这个就是返回要注入bean 的对象
}
@Bean
public Teacher getTeacher(){
return new Teacher(); //这个就是返回要注入bean 的对象
}
}

实现类?

@Component   //说明这个类被Spring 接管了,注册到容器中
public class User {
private String name;
private int age; public String getName() {
return name;
}
@Value("娃哈哈") //赋值
public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
}
}

调用

        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(My_config.class);
//纯注解实现 就只能能用AnnotationConfig
User getUser01 = context.getBean("getUser01",User.class);
//这个name需要跟之前上面加@bean的方法名一样
System.out.println(getUser01.getName()); Teacher getUser02 = context.getBean("getTeacher", Teacher.class);
//这个name需要跟之前上面加@bean的方法名一样
System.out.println(getUser02.toString()); Cat get03 = context.getBean("get_cat", Cat.class);
//这个name需要跟之前上面加@bean的方法名一样
System.out.println(get03.toString());

IOC容器--1.12. 基于 Java 的容器配置的更多相关文章

  1. Spring @Bean注解 (基于java的容器注解)

    基于java的容器注解,意思就是使用Java代码以及一些注解,就可以取代spring 的 xml配置文件. 1-@Configuration & @Bean的配合 @Configuration ...

  2. Spring IoC — 基于Java类的配置

    普通的POJO只要标注@Configuration注解,就可以为Spring容器提供Bean定义的信息了,每个标注了@Bean的类方法都相当于提供一个Bean的定义信息. 基于Java类的配置方法和基 ...

  3. [译]17-spring基于java代码的配置元数据

    spring还支持基于java代码的配置元数据.不过这种方式不太常用,但是还有一些人使用.所以还是很有必要介绍一下. spring基于java代码的配置元数据,可以通过@Configuration注解 ...

  4. Spring核心技术(十一)——基于Java的容器配置(一)

    基本概念: @Bean和@Configuration Spring中新的基于Java的配置的核心就是支持@Configuration注解的类以及@Bean注解的方法. @Bean注解用来表示一个方法会 ...

  5. Spring核心技术(十二)——基于Java的容器配置(二)

    使用@Configuration注解 @Configuration注解是一个类级别的注解,表明该对象是用来指定Bean的定义的.@Configuration注解的类通过@Bean注解的方法来声明Bea ...

  6. Spring课程 Spring入门篇 4-5 Spring bean装配之基于java的容器注解说明--@Bean

    1 解析 2.1 @bean注解定义 2.2 @bean注解的使用 2 代码演练 2.1 @bean的应用不带name 2.2 @bean的应用带name   2.3 @bean注解调用initMet ...

  7. Spring学习(13)--- 基于Java类的配置Bean 之 @Configuration & @Bean注解

    基于Java配置选项,可以编写大多数的Spring不用配置XML,但有几个基于Java的注释的帮助下解释.从Spring3.0开始支持使用java代码来代替XML来配置Spring,基于Java配置S ...

  8. Spring学习十一----------Bean的配置之基于Java的容器注解@Bean

    © 版权声明:本文为博主原创文章,转载请注明出处 @Bean -@Bean标识一个用于配置和初始化一个由SpringIOC容器管理的新对象的方法,类似于XML配置文件的<bean/> -可 ...

  9. Spring课程 Spring入门篇 4-6 Spring bean装配之基于java的容器注解说明--@ImportResource和@Value java与properties文件交互

    1 解析 1.1 这两个注解应用在什么地方 1.2 应用方式 1.3 xml方式实现取值 2 代码演练 2.1 @ImportResource和@Value代码演练 1 解析 1.1 这两个注解应用在 ...

随机推荐

  1. 当一个线程进入某个对象的一个 synchronized 的实例方 法后,其它线程是否可进入此对象的其它方法?

    如果其他方法没有 synchronized 的话,其他线程是可以进入的. 所以要开放一个线程安全的对象时,得保证每个方法都是线程安全的.

  2. SQL 注入漏洞产生的原因?如何防止?

    SQL 注入产生的原因:程序开发过程中不注意规范书写 sql 语句和对特殊字符进 行过滤,导致客户端可以通过全局变量 POST 和 GET 提交一些 sql 语句正常执行. 防止 SQL 注入的方式: ...

  3. synchronized使用及原理解析

    修饰静态方法.实例方法.代码块 Synchronized修饰静态方法,对类对象进行加锁,是类锁. Synchronized修饰实例方法,对方法所属对象进行加锁,是对象锁. Synchronized修饰 ...

  4. Docker最常用的镜像命令和容器命令

    一.镜像相关命令 官方文档:https://docs.docker.com/referenc 1.1查看镜像 [root@localhost ~]# docker images REPOSITORY ...

  5. Python这些位运算的妙用,绝对让你大开眼界

    位运算的性能大家想必是清楚的,效率绝对高.相信爱好源码的同学,在学习阅读源码的过程中会发现不少源码使用了位运算.但是为啥在实际编程过程中应用少呢?想必最大的原因,是较为难懂.不过,在面试的过程中,在手 ...

  6. translate3d 对 z-index 居然有影响

    在 Mobile 端需要注意. 安卓 默认浏览器 当中如果 div1 div2 如果 div1 有 translate3d 而 div2 没有 那么 div2 的 z-index 会无效. 解决办法: ...

  7. Day05 - Flex 实现可伸缩的图片墙 中文指南

    Day05 - Flex 实现可伸缩的图片墙 中文指南 作者:liyuechun 简介:JavaScript30 是 Wes Bos 推出的一个 30 天挑战.项目免费提供了 30 个视频教程.30 ...

  8. C# 语法糖测试--未完待续

    /// <summary> /// string扩展方法,可以用字符串变量加.的形式直接调用,this是关键 /// </summary> public static clas ...

  9. 玩转NET Expression

    using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; ...

  10. clone github代码库很慢,如何提速

    博主,最近在搭建hyperledger fabric的环境,其中有一步就是clone github上的代码,但是在过程中发现clone是真的慢. 为此google了一圈,发一现一个好用的办法: 1.登 ...