Java中的Proxy和CJ都是非常重要的技術(shù),下面我們來看一下他們分別是什么。
// Proxy使用舉例: // 定義服務(wù)接口 public interface HelloService { String sayHello(String name); } // 定義服務(wù)實現(xiàn)類 public class HelloServiceImpl implements HelloService { public String sayHello(String name) { return "Hello, " + name; } } // 創(chuàng)建動態(tài)代理 HelloService service = (HelloService) Proxy.newProxyInstance(HelloService.class.getClassLoader(), new Class>[]{HelloService.class}, new InvocationHandler() { public Object invoke(Object proxy, Method method, Object[] args) { if (method.getName().equals("sayHello")) { System.out.println("Request: " + Arrays.toString(args)); String result = ((HelloService) target).sayHello((String) args[0]); System.out.println("Response: " + result); return result; } else { return method.invoke(target, args); } } }); // 調(diào)用方法 String result = service.sayHello("Tom"); // CJ使用舉例: // 創(chuàng)建連接池對象 ComboPooledDataSource dataSource = new ComboPooledDataSource(); // 設(shè)置連接參數(shù) dataSource.setDriverClass("com.mysql.jdbc.Driver"); dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/test"); dataSource.setUser("root"); dataSource.setPassword("root"); // 獲取連接對象 Connection connection = dataSource.getConnection(); // 創(chuàng)建Statement對象 Statement statement = connection.createStatement(); // 執(zhí)行SQL語句 ResultSet resultSet = statement.executeQuery("select * from user"); // 遍歷結(jié)果集 while (resultSet.next()) { System.out.println(resultSet.getString("name")); } // 關(guān)閉連接和資源 resultSet.close(); statement.close(); connection.close(); dataSource.close();
總的來說,Proxy和CJ都是Java中非常重要的技術(shù),他們分別用于對Java動態(tài)代理和數(shù)據(jù)庫連接池的操作。如果你在Java開發(fā)中遇到了相關(guān)問題,建議盡早學(xué)習(xí)掌握這兩個技術(shù)。