1、zhansgan; private static Singleton instance = null; private int count = 0; static instance = new Singleton(); private Singleton() System.out.println(我是饿汉单例模式+count+); public static Singleton getInstance() return instance;Singleton1.java/懒汉单例模式,在第一次调用的时候实例化自己public class Singleton2 public static Sing
2、leton2 singleton = null; private Singleton2()我是懒汉单例模式); public static Singleton2 getInstance() if(singleton=null) singleton = new Singleton2(); return singleton;Test.javapackage com.chinasofti.eec.test;public class Test public static void main(String args) /* Singleton2.getInstance(); Singleton2.get
3、Instance();*/ /* System.out.println(Runtime.getRuntime(); System.out.println(Runtime.getRuntime();2 工厂模式Factory.javapackage com.chinasofti.eec.factory;import com.chinasofti.eec.fruit.Fruit;public class Factory public static Fruit getInstance(Class c) Fruit fruit = null; try fruit = (Fruit)Class.forN
4、ame(c.getName().newInstance(); catch (Exception e) / TODO Auto-generated catch block e.printStackTrace(); return fruit;Apple.javapackage com.chinasofti.eec.fruit;public class Apple implements Fruit Override public void eat() 我吃的是苹果Banana.javapublic class Banana implements Fruit 我吃的是香蕉Fruit.javapubli
5、c interface Fruit public void eat();import com.chinasofti.eec.factory.Factory; import com.chinasofti.eec.fruit.Apple;import com.chinasofti.eec.fruit.Banana;public class Test2 Factory.getInstance(Apple.class).eat(); Factory.getInstance(Banana.class).eat();3 代理模式3-1 代理类MyInvocationHandler.javapackage
6、com.chinasofti.eec.proxy1;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;/* * 代理类 * author Administrator * */public class MyInvocationHandler implements InvocationHandler private Object obj;/被代理对象 public Object bind(Object obj) this.obj = ob
7、j;/初始化被代理对象 /动态的返回一个代理类,统一调用invoke() 确定此对象实现的接口实例 return Proxy.newProxyInstance(obj.getClass().getClassLoader(), obj.getClass().getInterfaces(), this); public Object invoke(Object proxy, Method method, Object args) throws Throwable 抛媚眼之前 Object temp = method.invoke(this.obj, args);抛媚眼之后 return temp;
8、 Panjinlian.java * 被代理类public class Panjinlian implements PrettyWomen public void paomeiyan(String name) 潘金莲抛媚眼给+name);PrettyWomen.java * 定义的抛媚眼的一类人(什么事该做什么事不该做)public interface PrettyWomen public void paomeiyan(String name);import com.chinasofti.eec.proxy1.PrettyWomen; PrettyWomen pw = (PrettyWomen
9、)new MyInvocationHandler().bind(new Panjinlian(); pw.paomeiyan(西门庆3-2 被代理类Wangpo.javapackage com.chinasofti.eec.proxy;public class WangPo implements PrettyWomen private PrettyWomen pw = null; public WangPo() super(); public WangPo(PrettyWomen pw) this.pw = pw; public void paomeiyan() this.pw.paomeiy
10、an(); public void paomeiyan() 潘金莲抛媚眼. public void paomeiyan(); WangPo wp = new WangPo(new Panjinlian(); wp.paomeiyan();链接数据库JDBCutil.javapackage com.chinasofti.eec.jdbcutil; * 链接数据库的工具类import java.sql.Connection;import java.sql.DriverManager;public class JDBCutil public static final String DRIVER =
11、oracle.jdbc.driver.OracleDriver/orcale驱动 public static final String URL = jdbc:oracle:thin:localhost:1521:XE/数据库的url public static final String USER = system/用户名 public static final String PASSWORLD= gqk/密码 private static JDBCutil util = null; private static Connection conn = null; Class.forName(DRI
12、VER); conn = DriverManager.getConnection(URL,USER,PASSWORLD); private JDBCutil() public static Connection getConnection() return conn;public static void main(String args) System.out.println(JDBCutil.getConnection();JDBCutil2.javaimport java.sql.SQLException;public class JDBCutil2 private static JDBC
13、util2 jdbc = null; private JDBCutil2()/* public static JDBCutil2 getInstance() if(jdbc=null) jdbc = new JDBCutil2(); return jdbc; */ public synchronized static Connection getConnection() throws Exception Class.forName(DRIVER); if(conn =null)JDBC登录链接数据库1 链接数据库192.168.80.22:0 private static JDBCutil j
14、dbc = null; public static void main(String args) throws Exception System.out.println(getConnection();2 实体类User.javapackage com.chinasofti.eec.vo;import java.sql.Date;public class User private int id; private String name; private Date birthday; private String pwd; public String getPwd() return pwd; p
15、ublic void setPwd(String pwd) this.pwd = pwd; 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 Date getBirthday() return birthday; public void setBirthday(Date birthday) this.birthday
16、= birthday; public String toString() return User id= + id + , name= + name + , birthday= + birthday + 3 登录功能接口UserDao.javapackage com.chinasofti.eec.dao;public interface UserDao boolean LoginInfo(String name,String pwd);UserImpl.javaimport java.sql.ResultSet;import java.sql.Statement;import com.chin
17、asofti.eec.jdbcutil.JDBCutil;public class UserImpl implements UserDao private static Connection conn = null; private static Statement s = null; private static ResultSet rs = null; public boolean LoginInfo(String name, String pwd) boolean flag = false; String sql = select * from CHAOSHENXUEYUAN where
18、 last_name =+name + and pwd = +pwd; System.out.println(sql); conn = JDBCutil.getConnection(); s = conn.createStatement(); rs = s.executeQuery(sql); if(rs.next() flag = true; else flag = false; return flag;4 服务接口降低耦合度UserService.javapackage com.chinasofti.eec.service;public interface UserService bool
19、ean loginInfo(String name,String pwd);UserServiceImpl.javaimport com.chinasofti.eec.dao.UserDao;import com.chinasofti.eec.dao.UserImpl;public class UserServiceImpl implements UserService public boolean loginInfo(String n, String p) UserDao ud = new UserImpl(); boolean falg = ud.LoginInfo(n, p); return falg;5 视图层import j
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2