在Java开发中,框架虽然能大幅提升开发效率,但在某些轻量级场景或学习阶段,不使用框架直接访问数据库或资源也是可行的,本文将详细介绍Java不使用框架时如何通过原生方式访问数据库、HTTP接口及文件系统,涵盖核心实现步骤与注意事项。

JDBC直连数据库实现数据操作
不使用框架时,JDBC(Java Database Connectivity)是访问数据库的基础方式,实现步骤如下:
加载并注册数据库驱动,以MySQL为例,需引入mysql-connector-java依赖,通过Class.forName("com.mysql.cj.jdbc.Driver")加载驱动类,获取数据库连接,使用DriverManager.getConnection()方法,传入URL(格式为jdbc:mysql://localhost:3306/dbname?useSSL=false&serverTimezone=UTC)、用户名及密码。
连接建立后,创建Statement或PreparedStatement对象执行SQL,为防止SQL注入,推荐使用PreparedStatement,通过占位符传参,
String sql = "SELECT * FROM users WHERE username = ? AND password = ?"; PreparedStatement pstmt = connection.prepareStatement(sql); pstmt.setString(1, username); pstmt.setString(2, password); ResultSet rs = pstmt.executeQuery();
遍历ResultSet获取结果集数据,操作完成后需按顺序关闭ResultSet、Statement及Connection资源,避免内存泄漏,可结合try-finally或try-with-resources(JDK7+)确保资源释放,

try (Connection conn = DriverManager.getConnection(url, user, password);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
// 执行SQL逻辑
} catch (SQLException e) {
e.printStackTrace();
}
原生HTTP请求处理
不使用Spring Boot等框架时,可通过Java标准库或第三方库发送HTTP请求,标准库HttpURLConnection适合简单场景,而Apache HttpClient功能更全面。
以HttpURLConnection为例,实现GET请求步骤:
- 创建URL对象:
URL url = new URL("https://api.example.com/data"); - 打开连接:
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); - 设置请求方法:
conn.setRequestMethod("GET"); - 获取响应码:
int responseCode = conn.getResponseCode(); - 读取响应数据:通过
conn.getInputStream()获取输入流,使用BufferedReader逐行读取:BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String inputLine; StringBuilder response = new StringBuilder(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close();POST请求需额外设置
conn.setDoOutput(true),并通过conn.getOutputStream()写入请求体数据,若需处理JSON,可引入org.json等库手动序列化/反序列化。
文件系统与IO操作
Java通过java.io和java.nio包(NIO.2)提供文件访问能力,传统IO流适合简单文本操作,例如读取文件:

try (BufferedReader reader = new BufferedReader(new FileReader("test.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
NIO.2以Path和Files为核心,支持更高效的文件操作,
- 获取文件路径:
Path path = Paths.get("data.txt"); - 读取文件内容:
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8); - 写入文件:
Files.write(path, "Hello World".getBytes(StandardCharsets.UTF_8));
NIO.2还支持文件监听、异步IO等高级功能,通过WatchService可监听文件目录变化:WatchService watchService = FileSystems.getDefault().newWatchService(); path.register(watchService, StandardWatchEventKinds.ENTRY_CREATE); WatchKey key = watchService.take(); for (WatchEvent<?> event : key.pollEvents()) { System.out.println("事件类型: " + event.kind() + ", 文件: " + event.context()); }
不使用框架的注意事项
- 资源管理:手动管理数据库连接、IO流等资源,确保使用后关闭,避免资源泄漏。
- 异常处理:需捕获并处理可能抛出的异常(如
SQLException、IOException),避免程序中断。 - 配置管理:数据库连接URL、用户名等敏感信息建议通过配置文件(如
config.properties)读取,而非硬编码。 - 性能优化:频繁创建数据库连接时,可考虑实现简单连接池(如自定义
DataSource),避免连接开销。
不使用框架开发虽然需要处理更多底层细节,但有助于理解Java基础API和资源管理机制,适合学习或轻量级场景,实际项目中,可根据需求权衡是否引入框架以提升开发效率。


















