总结

情况一:

配置类中类名添加 @Configuration 注解,同时提供一个方法返回一个Bean实例,且这个方法添加注解 @Bean ,就可以由Spring管理此对象

如下所示:

User.java( Bean )

public class User {

    private String name;

    public String getName() {
return name;
} @Value("Juyss") //注入name属性的值
public void setName(String name) {
this.name = name;
} @Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
'}';
}
}

SpringConfig.java( Java配置类 )

@Configuration //表明此类为Spring配置类
public class SpringConfig { @Bean //返回一个实例,注册为一个Bean由Spring管理
public User getUser(){
return new User();
} }

ConfTest.java(测试类)

public class ConfTest {

    @Test
public void Test(){
ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
User user = context.getBean("getUser", User.class); //第一个参数需与方法名一致
System.out.println(user);
}
}

测试类运行结果得到:User{name='Juyss'}

情况二:

配置类中类名上添加注解@Configuration表明为Spring配置类,添加注解@ComponentScan("ClassPath")表明扫描的包路径

然后在需要被Spring管理的Bean类名添加注解@Component

User.java ( Bean )

@Component //表明这个类注册为Bean组件
public class User { private String name; public String getName() {
return name;
} @Value("Juyss") //注入name属性的值
public void setName(String name) {
this.name = name;
} @Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
'}';
}
}

SpringConfig.java ( Java配置类 )

@Configuration //表明为Spring配置类
@ComponentScan("com.juyss.pojo") //扫描此包下的所有已注册的Bean
public class SpringConfig {
}

ConfTest.java ( 测试类 )

public class ConfTest {

    @Test
public void Test(){
ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
User user = context.getBean("user", User.class); //第一个参数为类名首字母小写
System.out.println(user);
}
}

测试类运行结果得到:User{name='Juyss'}

最新文章

  1. Linux 系统查看物理内存使用率的命令脚本,以百分比形式输出。
  2. 强大的Sublime编辑器
  3. 对话框AlertDialog的基本类型与创建
  4. hdu 3530 Subsequence
  5. Delphi DecodeDate和EncodeDate 拆分和聚合时间函数的用法
  6. hdu 1325 Is It A Tree?
  7. Insert Interval 面试题leetcode.
  8. (转)iOS7界面设计规范(10) - UI基础 - 文字排版与配色
  9. javascript 浏览器
  10. bzoj 4444: [Scoi2015]国旗计划
  11. 杭电OJ2004——成绩转换
  12. SpringCloud的Hystrix(一) 一个消费者内的两个服务监控
  13. TCP浅谈为什么3次握手
  14. 使用Laya引擎开发微信小游戏(下)
  15. Java实验-课程设计报告一:个人银行账户管理系统SavingAccountManageSystem-具体文档+源码
  16. Eclipse中tomcat更改部署路径 deply path
  17. Centos7 开机启动命令行模式
  18. Nexus Repository Manager 3(CVE-2019-7238) 远程代码执行漏洞分析和复现
  19. 【MongoDB】MongoDB的安装教程
  20. Android 通过触摸动态地在屏幕上画矩形

热门文章

  1. ECMAScript 2016(ES7)新特性简介
  2. 归一化(Normalization)和标准化(Standardization)
  3. java例题_32 取一个整数a从右端开始的4~7位
  4. Java基础回顾_第二部分_Java流程控制
  5. 微信小程序授权登录以及用户信息相关接口调整导致授权框不弹出
  6. vuejs集成echarts的一些问题
  7. Dynamics CRM的Associate功能
  8. 【Azure 环境】在Windows系统中 使用Terraform创建中国区Azure资源步骤(入门级)
  9. day14.面向对象编程
  10. JDBC_13_封装JDBC工具类