02-Spring的IOC示例程序(通过id获取对象)
*******通过IOC容器创建id对象并为属性赋值********
整体结构:

①创建一个java工程
②导包
③创建log4j.properties日记配置文件
# Global logging configuration
log4j.rootLogger=INFO, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
④创建spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
***********此处是手写代码************
</beans>
⑤创建javaBean对象
package cn.aynu.pojo;
public class Person {
private int id;
private String name;
private String phone;
private int age;
public Person() {
super();
}
public Person(int id, String name, String phone, int age) {
super();
this.id = id;
this.name = name;
this.phone = phone;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person [id=" + id + ", name=" + name + ", phone=" + phone + ", age=" + age + "]";
}
}
⑥在application.xml中配置bean对象
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--id值(p1)不可重复,如果重复会报错,编译不通过 -->
<bean id="p1" class="cn.aynu.pojo.Person">
<property name="id" value="1001"/>
<property name="name" value="琥珀"/>
<property name="phone" value="18337280000"/>
<property name="age" value="18"/>
</bean> </beans>
⑦写测试类(从容器中获取bean对象)
public class PersonTest {
@Test
public void Test01() {
//获取spring容器对象(classpath:可略)
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:application.xml");
//根据id获取bean对象
Person person = (Person) applicationContext.getBean("p1");
System.out.println(person);
}
}
补充:①如果有多个对象同时获取P1,只有一次输出(单例模式)
②优先调用无参构造器中的内容

02-Spring的IOC示例程序(通过id获取对象)的更多相关文章
- 获取spring的IOC核心容器,并根据id获取对象
public class Client { /** * 获取spring的IOC核心容器,并根据id获取对象 * ApplicationContext的三个常用实现类 * classPathXmlAp ...
- 03-Spring的IOC示例程序(通过类型获取对象)
根据bean类型从IOC容器中获取bean的实例 ①test测试类 @Test public void Test02() { //获取spring容器对象 ApplicationContext app ...
- hibernate的获取session的两方法比较,和通过id获取对象的比较,一级缓存二级缓存
opensession与currentsession的联系与区别 在同一个线程中opensession的session是不一样的,而currentsession获取的session是一样的,这就保证了 ...
- spring的IOC(反转控制)
Spring概念 1.1.1 spring 是什么 Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制 ...
- Spring之 IOC&依赖注入
0x01.Spring 1什么是Spring Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的(解耦). 框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组 ...
- jQuery选择器ID、CLASS、标签获取对象值、属性、设置css样式
jQuery是继prototype之后又一个优秀的Javascrīpt框架.它是轻量级的js库(压缩后只有21k) , 它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safa ...
- [JQuery] jQuery选择器ID、CLASS、标签获取对象值、属性、设置css样式
reference : http://www.suyunyou.com/aid1657.html jQuery是继prototype之后又一个优秀的Javascrīpt框架.它是轻量级的js库(压缩后 ...
- 04 Spring:01.Spring框架简介&&02.程序间耦合&&03.Spring的 IOC 和 DI&&08.面向切面编程 AOP&&10.Spring中事务控制
spring共四天 第一天:spring框架的概述以及spring中基于XML的IOC配置 第二天:spring中基于注解的IOC和ioc的案例 第三天:spring中的aop和基于XML以及注解的A ...
- Spring中的IOC示例
Spring中的IOC示例 工程的大概内容是: 一个人在中国时用中国话问候大家,在国外时用英语问候大家. 其中, IHelloMessage是接口,用来定义输出问候信息 public interfac ...
随机推荐
- 2.4测试赛AC代码临时保存
//H #include<cstdio> #include<cstdlib> #include<cstring> #include<stack> usi ...
- docker远程访问
查看版本 docker version 查看信息 docker info 修改配置文件 ubuntu在 /etc/default/docker centos在/usr/lib/systemd/syst ...
- selenium 百度登录
private String baseUrl="http://www.baidu.com/"; --------- @Test public void testLoginB() t ...
- Python常用的类库、对应的方法和属性
Python常用的类库.对应的方法和属性
- 一点点学习PS--实战三
本节实战,练习多张图片合成,调色相饱和度,剪贴蒙版的使用场景,人物内发光,人物轮廓光以及多种图层混合模式的使用,深入了解图层蒙版 1.工具使用 (1)多边形套锁工具:适用于棱角分明的抠图区域,选中了区 ...
- 关于按下ctrl+z后,之后的cin失效的问题
下面这代码按下Ctrl+z结束while输入后,接下来的cin >> val2就无法输入了 #include <iostream> #include <vector> ...
- pytest学习1-安装和入门
一.安装pytest: 在命令行窗口下执行: pip install -U pytest 检查安装的pytest版本: pytest -v 二.运行第一个测试用例: import pytest def ...
- 三、统一威胁管理(UTM)
简介 统一威胁管理(Unified Threat Management),简称UTM. 2004年9月,IDC首度提出“统一威胁管理”的概念,即将防病毒.入侵检测和防火墙安全设备划归统一威胁管理(Un ...
- C#对config.ini文件进行读取和修改
C#对config.ini文件进行读取和修改: public partial class Patrolcar : Form之后可以加入如下类: #region public class IniFile ...
- bitlocker对磁盘进行加密解密
1,bitlocker是什么? BitLocker即Windows BitLocker驱动器加密.是微软在Windows Vista中新增的一种数据保护功能.使用BitLocker可以加密磁盘.主要用 ...