IOC容器--1.12. 基于 Java 的容器配置
用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 的容器配置的更多相关文章
- Spring @Bean注解 (基于java的容器注解)
基于java的容器注解,意思就是使用Java代码以及一些注解,就可以取代spring 的 xml配置文件. 1-@Configuration & @Bean的配合 @Configuration ...
- Spring IoC — 基于Java类的配置
普通的POJO只要标注@Configuration注解,就可以为Spring容器提供Bean定义的信息了,每个标注了@Bean的类方法都相当于提供一个Bean的定义信息. 基于Java类的配置方法和基 ...
- [译]17-spring基于java代码的配置元数据
spring还支持基于java代码的配置元数据.不过这种方式不太常用,但是还有一些人使用.所以还是很有必要介绍一下. spring基于java代码的配置元数据,可以通过@Configuration注解 ...
- Spring核心技术(十一)——基于Java的容器配置(一)
基本概念: @Bean和@Configuration Spring中新的基于Java的配置的核心就是支持@Configuration注解的类以及@Bean注解的方法. @Bean注解用来表示一个方法会 ...
- Spring核心技术(十二)——基于Java的容器配置(二)
使用@Configuration注解 @Configuration注解是一个类级别的注解,表明该对象是用来指定Bean的定义的.@Configuration注解的类通过@Bean注解的方法来声明Bea ...
- 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 ...
- Spring学习(13)--- 基于Java类的配置Bean 之 @Configuration & @Bean注解
基于Java配置选项,可以编写大多数的Spring不用配置XML,但有几个基于Java的注释的帮助下解释.从Spring3.0开始支持使用java代码来代替XML来配置Spring,基于Java配置S ...
- Spring学习十一----------Bean的配置之基于Java的容器注解@Bean
© 版权声明:本文为博主原创文章,转载请注明出处 @Bean -@Bean标识一个用于配置和初始化一个由SpringIOC容器管理的新对象的方法,类似于XML配置文件的<bean/> -可 ...
- 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 这两个注解应用在 ...
随机推荐
- 当一个线程进入某个对象的一个 synchronized 的实例方 法后,其它线程是否可进入此对象的其它方法?
如果其他方法没有 synchronized 的话,其他线程是可以进入的. 所以要开放一个线程安全的对象时,得保证每个方法都是线程安全的.
- SQL 注入漏洞产生的原因?如何防止?
SQL 注入产生的原因:程序开发过程中不注意规范书写 sql 语句和对特殊字符进 行过滤,导致客户端可以通过全局变量 POST 和 GET 提交一些 sql 语句正常执行. 防止 SQL 注入的方式: ...
- synchronized使用及原理解析
修饰静态方法.实例方法.代码块 Synchronized修饰静态方法,对类对象进行加锁,是类锁. Synchronized修饰实例方法,对方法所属对象进行加锁,是对象锁. Synchronized修饰 ...
- Docker最常用的镜像命令和容器命令
一.镜像相关命令 官方文档:https://docs.docker.com/referenc 1.1查看镜像 [root@localhost ~]# docker images REPOSITORY ...
- Python这些位运算的妙用,绝对让你大开眼界
位运算的性能大家想必是清楚的,效率绝对高.相信爱好源码的同学,在学习阅读源码的过程中会发现不少源码使用了位运算.但是为啥在实际编程过程中应用少呢?想必最大的原因,是较为难懂.不过,在面试的过程中,在手 ...
- translate3d 对 z-index 居然有影响
在 Mobile 端需要注意. 安卓 默认浏览器 当中如果 div1 div2 如果 div1 有 translate3d 而 div2 没有 那么 div2 的 z-index 会无效. 解决办法: ...
- Day05 - Flex 实现可伸缩的图片墙 中文指南
Day05 - Flex 实现可伸缩的图片墙 中文指南 作者:liyuechun 简介:JavaScript30 是 Wes Bos 推出的一个 30 天挑战.项目免费提供了 30 个视频教程.30 ...
- C# 语法糖测试--未完待续
/// <summary> /// string扩展方法,可以用字符串变量加.的形式直接调用,this是关键 /// </summary> public static clas ...
- 玩转NET Expression
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; ...
- clone github代码库很慢,如何提速
博主,最近在搭建hyperledger fabric的环境,其中有一步就是clone github上的代码,但是在过程中发现clone是真的慢. 为此google了一圈,发一现一个好用的办法: 1.登 ...