package com.yangweitao.drp.util;
java代码:
import java.util.HashMap;
import java.util.Map;
/**
*
* Bean工厂
* @author Administrator
*/
public class BeanFactory {
private static BeanFactory instance = null ;
//存放产品{key: 产品编号 value:具体产品}
private Map beans = new HashMap() ;
private Document doc = null ;
public BeanFactory(){
try {
doc = new SAXReader().read(Thread.currentThread().getContextClassLoader().getResourceAsStream("applicationContextl.xml"));
} catch (DocumentException e) {
e.printStackTrace();
throw new AppException("加载配置文件applicationContext.xml文件失败");
}
* 获得实例
* @return
public static BeanFactory getInstance(){
if(instance == null){
instance = new BeanFactory () ;
return instance ;
///**
// * 根据产品标识(id)得到产品 必须是同步的,因为会产生线程安全问题
// * @param id
// * @return
// */
//public synchronized Object getBean(String key){
//
//if(beans.containsKey(key)){
//return beans.get(key);
//}
////查找XML文件中key等于谋值的bean标签
//Object object = null ;
//try {
//Element elt = (Element)doc.selectObject("//bean[@id=\"" + key +"\"]");
//object = Class.forName(elt.attributeValue("class")).newInstance() ;
//} catch (Exception e) {
//beans.put(key, object);
//return object ;
* 根据产品标识(id)得到产品 必须是同步的,因为会产生线程安全问题
* @param id
public synchronized Object getBean(Class objClass){
String key = objClass.getName();
if(beans.containsKey(key)){
return beans.get(key);
//查找XML文件中key等于谋值的bean标签
Object object = null ;
Element elt = (Element)doc.selectObject("//bean[@id=\"" + key +"\"]");
object = Class.forName(elt.attributeValue("class")).newInstance() ;
} catch (Exception e) {
beans.put(key, object);
return object ;
public static void main(String[] args) {
//System.out.println(BeanFactory.getInstance().getBean("com.yangweitao.drp.basedata.dao.ItemDao"));
xml文件:
beans
!--
--
bean id="com.yangweitao.drp.basedata.manager.ItemService" class="com.yangweitao.drp.basedata.manager.ItemServiceImpl"/bean
/beans
java代码采用单例读取,测试的是 请导入相应的jar包
public interface Italk {
public void talk(String msg);
} public class People implements Italk {
public String username;
public String age;
public String getName() {
return username;
public void setName(String name) {
this.username= name;
public String getAge() {
return age;
public void setAge(String age) {
this.age = age;
public People(String name1, String age1) {
this.username= name1;
this.age = age1;
public void talk(String msg) {
System.out.println(msg+!土嘎嘎的粉丝们大家好,我是+username+,我年龄是+age);
} public class TalkProxy implements Italk {
Italk talker;
public TalkProxy (Italk talker) {
//super();
this.talker=talker;
talker.talk(msg);
public void talk(String msg,String singname) {
sing(singname);
private void sing(String singname){
System.out.println(唱歌:+singname);
} public class MyProxyTest {
/**代理模式
* @param args
//不需要执行额外方法的
people1.talk(No ProXY Test);
System.out.println(-----------------------------);
//需要执行额外方法的
TalkProxy talker=new TalkProxy(people1);
talker.talk(ProXY Test,七里香);
以下是定义一元二次方程类、封装系数及其求根方法的示例代码:
public class Equation {
private double a;
private double b;
private double c;
// 封装系数
public void setA(double a) {
this.a = a;
public double getA() {
return a;
public void setB(double b) {
this.b = b;
public double getB() {
return b;
public void setC(double c) {
this.c = c;
public double getC() {
return c;
// 求根方法
public void solve() {
if (delta 0) {
} else if (delta == 0) {
System.out.println("方程的解为:" + x);
} else {
System.out.println("方程无解");
在main()方法中定义一个一元二次方程对象并调用求根方法,可以这样写:
// 创建一个一元二次方程对象
Equation eq = new Equation();
// 设置系数
eq.setA(1);
eq.setC(1);
// 调用求根方法
eq.solve();
上面的代码会输出:方程的解为:-1.0.
很高兴回答你的问题
希望对你有帮助
Java实现十进制转换二进制的一段代码0
①复制代码package work;
..
.. /*循环,用来检测输入的数值是否大于100*/
while(num100){
System.out.print(\"数字不能大于100!重新输入:\");
num=input.nextInt();
/*循环结束*/
int n=num; //声明n变量用并赋值输入的值
int x=0; //声明x变量,用来控制数组
/*循环,用来计算十进制转换为二进制数后的每一位*/
while(n=1){
x++;
System.out.print(num+\"转换成二进制是:\");
x--; //这里x变量需要"--"才能与数组标签匹配
/*for循环控制数组序列反转输出,从后往前*/
for(int i=x;i=0;i--){
System.out.print(tnum[i]);
以上就是土嘎嘎小编为大家整理的常见的java代码示例相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!