代码分享链接

https://pan.baidu.com/s/1UM0grvpttHW9idisiqa6rA    提取码:hx7c

图示

     

   

项目结构

1.SelectAllUser.jsp

 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="SelectAllUserServlet">查询所有用户</a>
</body>
</html>

2.AddUser.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="Add.jsp">增加用户</a>
<table border="1px">
<tr>
<td>用户ID</td>
<td>用户姓名</td>
<td>用户密码</td>
<td>用户昵称</td>
<td>用户性别</td>
<td>用户年龄</td>
<td>用户头像</td>
<td>操作</td>
</tr>
<c:forEach var="xyz" items="${requestScope.user }">
<tr>
<td>${xyz.userid }</td>
<td>${xyz.username }</td>
<td>${xyz.password }</td>
<td>${xyz.nikename }</td>
<td>${xyz.sex }</td>
<td>${xyz.age }</td>
<td><img src="${xyz.image }" alt="图片加载失败" height="50px" weight="50px"/></td>
<td>
<a href="UpdateSelectUserByIdServlet?userid=${xyz.userid }">修改</a>
<a href="DeleteUserServlet?userid=${xyz.userid }">删除</a>
</td>
</tr>
</c:forEach>
</table>

<!-- 分页 -->
一共${num }页 &nbsp;&nbsp;&nbsp;&nbsp;
<a href=""#>首页</a>
<a href=""#>上一页</a>
<a href=""#>下一页</a>
<a href=""#>尾页</a>

</body>
</html>

 

3.Add.jsp

 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="AddUserServle" method="post">
用户名<input type="text" name="username"><br>
密码<input type="text" name="password"><br>
昵称<input type="text" name="nikename"><br>
性别<input type="text" name="sex"><br>
年龄<input type="text" name="age"><br>
头像<input type="file" name="image"><br>
<input type="submit" value="提交">
</form>
</body>
</html>

4.UpdateUser.jsp

 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body> <form action="UpdateUserServlet" method="post" >
用户id:${user.userid }
<input type="hidden" name="userid" value="${user.userid }"><br>
用户名<input type="text" name="username" value="${user.username }"><br>
密码<input type="text" name="password" value="${user.password }"><br>
昵称<input type="text" name="nikename" value="${user.nikename }"><br>
性别<input type="text" name="sex" value="${user.sex }"><br>
年龄<input type="text" name="age" value="${user.age }"><br>
头像<input type="file" name="image" value="${user.image }"><br>
<input type="submit" value="提交">
</form> </body>
</html>

5.(com.icss.vo)User.java

 /**
* <p>Title: User.java</p>
  * <p>Description: </p>
  * <p>Copyright: Copyright (c) 2020</p>
  * <p>Company: </p>
  * @author liuxin
  * @date 2020年3月27日
  * @version 1.0
*/
package com.icss.vo; /**
* <p>Title: User</p>
  * <p>Description: </p>
  * @author liuxin
  * @date 2020年3月27日
*/
public class User {
//数据封装
private int userid;
private String username;
private String password;
private String nikename;
private String sex;
private int age;
private String image;
/**
* @return the userid
*/
public int getUserid() {
return userid;
}
/**
* @param userid the userid to set
*/
public void setUserid(int userid) {
this.userid = userid;
}
/**
* @return the username
*/
public String getUsername() {
return username;
}
/**
* @param username the username to set
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
/**
* @return the nikename
*/
public String getNikename() {
return nikename;
}
/**
* @param nikename the nikename to set
*/
public void setNikename(String nikename) {
this.nikename = nikename;
}
/**
* @return the sex
*/
public String getSex() {
return sex;
}
/**
* @param sex the sex to set
*/
public void setSex(String sex) {
this.sex = sex;
}
/**
* @return the age
*/
public int getAge() {
return age;
}
/**
* @param age the age to set
*/
public void setAge(int age) {
this.age = age;
}
/**
* @return the image
*/
public String getImage() {
return image;
}
/**
* @param image the image to set
*/
public void setImage(String image) {
this.image = image;
} }

6.(com.icss.util)DBUtil.java

 package com.icss.util;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; public class DBUtil {
public static Connection connection;
public static Connection getConnection() throws ClassNotFoundException, SQLException{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection connection = DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:XE","数据库名","数据库密码");
return connection;
} }

7.(com.icss.dao)UserDao.java

 /**
* <p>Title: UserDao.java</p>
  * <p>Description: </p>
  * <p>Copyright: Copyright (c) 2020</p>
  * <p>Company: </p>
  * @author liuxin
  * @date 2020年3月27日
  * @version 1.0
*/
package com.icss.dao; import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList; import org.apache.tomcat.dbcp.dbcp.DbcpException; import com.icss.util.DBUtil;
import com.icss.vo.User; import javafx.css.PseudoClass; /**
* <p>Title: UserDao</p>
  * <p>Description: </p>
  * @author liuxin
  * @date 2020年3月27日
*/
public class UserDao {
//查询所有用户
public ArrayList<User> selectAllUserDao() throws ClassNotFoundException, SQLException{
PreparedStatement ps = DBUtil.getConnection().prepareStatement
("select * from user_0327");
ResultSet rs = ps.executeQuery();
ArrayList<User> al = new ArrayList<User>();
while(rs.next()){
User user = new User();
user.setUserid(rs.getInt(1));
user.setUsername(rs.getString(2));
user.setPassword(rs.getString(3));
user.setNikename(rs.getString(4));
user.setSex(rs.getString(5));
user.setAge(rs.getInt(6));
user.setImage(rs.getString(7));
al.add(user);
}
ps.close();
rs.close();
DBUtil.getConnection().close();
return al;
}
//增加用户
public void addUserDao(User user) throws ClassNotFoundException, SQLException{
PreparedStatement ps = DBUtil.getConnection().prepareStatement
("insert into user_0327 values(user0327_seq.nextval,?,?,?,?,?,?)");
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
ps.setString(3, user.getNikename());
ps.setString(4, user.getSex());
ps.setInt(5, user.getAge());
//这里先将头像照片定死,没有使用上传图片
ps.setString(6, "image/"+user.getImage());
ps.executeUpdate();
ps.close();
DBUtil.getConnection().close();
}
//删除用户
public void deleteUserDao(int id) throws ClassNotFoundException, SQLException{
PreparedStatement ps = DBUtil.getConnection().prepareStatement
("delete from user_0327 where userid=?");
ps.setInt(1, id);
ps.executeQuery();
ps.close();
DBUtil.getConnection().close();
}
//修改之查询
public User updateSelectUserByIdDao(int id) throws ClassNotFoundException, SQLException{
PreparedStatement ps = DBUtil.getConnection().prepareStatement
("select * from user_0327 where userid=?");
ps.setInt(1, id);
ResultSet rs = ps.executeQuery();
User user = new User();
while(rs.next()){
user.setUserid(rs.getInt(1));
user.setUsername(rs.getString(2));
user.setPassword(rs.getString(3));
user.setNikename(rs.getString(4));
user.setSex(rs.getString(5));
user.setAge(rs.getInt(6));
user.setImage(rs.getString(7));
}
ps.close();
rs.close();
DBUtil.getConnection().close();
return user;
}
//修改之修改
public void updateUserByIdDao(User user) throws ClassNotFoundException, SQLException{
PreparedStatement ps = DBUtil.getConnection().prepareStatement
("update user_0327 set username=?,password=?,nikename=?,sex=?,age=?,image=? where userid =?");
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
ps.setString(3, user.getNikename());
ps.setString(4, user.getSex());
ps.setInt(5, user.getAge());
ps.setString(6, "image"+user.getImage());
ps.setInt(7, user.getUserid());
ps.executeUpdate();
ps.close();
DBUtil.getConnection().close();
}
//获得分页数量
public int getTotalPageDao(int pagesize) throws ClassNotFoundException, SQLException{
PreparedStatement ps = DBUtil.getConnection().prepareStatement
("select count(userid) c from user_0327");
ResultSet rs = ps.executeQuery();
int total =0;
if(rs.next()){
int num = rs.getInt("c");
total = num%pagesize==0?num/pagesize:num/pagesize+1;
}
ps.close();
DBUtil.getConnection().close();
return total;
}
}

8.(com.icss.service)UserService.java

 /**
* <p>Title: UserService.java</p>
  * <p>Description: </p>
  * <p>Copyright: Copyright (c) 2020</p>
  * <p>Company: </p>
  * @author liuxin
  * @date 2020年3月27日
  * @version 1.0
*/
package com.icss.service; import java.sql.SQLException;
import java.util.ArrayList; import com.icss.dao.UserDao;
import com.icss.vo.User; /**
* <p>Title: UserService</p>
  * <p>Description: </p>
  * @author liuxin
  * @date 2020年3月27日
*/
public class UserService {
public ArrayList<User> selectAllUserService() throws ClassNotFoundException, SQLException{
UserDao user = new UserDao();
return user.selectAllUserDao();
}
public void addUserService(User user) throws ClassNotFoundException, SQLException{
UserDao ud = new UserDao();
ud.addUserDao(user);
}
public void deleteUserService(int id) throws ClassNotFoundException, SQLException{
UserDao ud = new UserDao();
ud.deleteUserDao(id);
}
public User updateSelectUserByIdService(int id) throws ClassNotFoundException, SQLException{
UserDao ud = new UserDao();
return ud.updateSelectUserByIdDao(id);
}
public void updateUserByIdService(User user) throws ClassNotFoundException, SQLException{
UserDao ud = new UserDao();
ud.updateUserByIdDao(user);
}
public int getTotalPageService(int pagesize) throws ClassNotFoundException, SQLException{
UserDao ud = new UserDao();
return ud.getTotalPageDao(pagesize);
} }

9.(com.icss.controller)SelectAllUserServlet.java

 package com.icss.controller;

 import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.icss.service.UserService;
import com.icss.vo.User; /**
* Servlet implementation class SelectAllUserServlet
*/
@WebServlet("/SelectAllUserServlet")
public class SelectAllUserServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public SelectAllUserServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//接受请求
//处理请求
UserService us = new UserService();
try {
//************分页数**************
int pagesize = 3;
int num = us.getTotalPageService(pagesize);
System.out.println(num);
request.setAttribute("num", num);
//************分页数**************
ArrayList<User> user = us.selectAllUserService();
request.setAttribute("user", user);
request.getRequestDispatcher("AddUser.jsp").forward(request, response);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } }

10.(com.icss.controller)AddUserServlet.java

 package com.icss.controller;

 import java.io.IOException;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.icss.service.UserService;
import com.icss.vo.User; /**
* Servlet implementation class AddUserServle
*/
@WebServlet("/AddUserServle")
public class AddUserServle extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public AddUserServle() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//接受请求
User user = new User();
//String user2 = request.getParameter("username");
user.setUsername(request.getParameter("username"));
///System.out.println(user2);
user.setPassword(request.getParameter("password"));
user.setNikename(request.getParameter("nikename"));
user.setSex(request.getParameter("sex"));
user.setAge(Integer.parseInt(request.getParameter("age")));
user.setImage(request.getParameter("image"));
//处理请求
UserService us = new UserService();
try { us.addUserService(user);
request.getRequestDispatcher("SelectAllUserServlet").forward(request, response);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }

11.(com.icss.controller)UpdateSelectUserByIdServlet.java

 package com.icss.controller;

 import java.io.IOException;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.icss.service.UserService;
import com.icss.vo.User; /**
* Servlet implementation class UpdateSelectUserByIdServlet
*/
@WebServlet("/UpdateSelectUserByIdServlet")
public class UpdateSelectUserByIdServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public UpdateSelectUserByIdServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//接受数据
int id = Integer.parseInt(request.getParameter("userid"));
//System.out.println(id);
//处理数据
UserService us = new UserService();
try {
User user = us.updateSelectUserByIdService(id);
request.setAttribute("user", user);
request.getRequestDispatcher("UpdateUser.jsp").forward(request, response);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }

12.(com.icss.controller)UpdateUserServlet.java

 package com.icss.controller;

 import java.io.IOException;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.icss.service.UserService;
import com.icss.vo.User; /**
* Servlet implementation class UpdateUserServlet
*/
@WebServlet("/UpdateUserServlet")
public class UpdateUserServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public UpdateUserServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//接受数据
User user = new User();
user.setUserid(Integer.parseInt(request.getParameter("userid")));
user.setUsername(request.getParameter("username"));
user.setPassword(request.getParameter("password"));
user.setNikename(request.getParameter("nikename"));
user.setSex(request.getParameter("sex"));
user.setAge(Integer.parseInt(request.getParameter("age")));
user.setImage(request.getParameter("image"));
//处理请求
UserService us = new UserService();
try {
us.updateUserByIdService(user);
request.getRequestDispatcher("SelectAllUserServlet").forward(request, response);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }

13.(com.icss.controller)DeleteUserServlet.java

 package com.icss.controller;

 import java.io.IOException;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.icss.service.UserService; /**
* Servlet implementation class DeleteUserServlet
*/
@WebServlet("/DeleteUserServlet")
public class DeleteUserServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public DeleteUserServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//接受请求
int id = Integer.parseInt(request.getParameter("userid"));
//System.out.println(id);
//处理请求
UserService us = new UserService();
try {
us.deleteUserService(id);
request.getRequestDispatcher("SelectAllUserServlet").forward(request, response);
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }

  

动态网站项目(Dynamic Web Project)CRUD(增删改查)功能的实现(mvc(五层架构)+jdbc+servlet+tomcat7.0+jdk1.8),前端使用JSP+JSTL+EL组合的更多相关文章

  1. 动态网站项目(Dynamic Web Project)登录功能的实现(mvc(五层架构)+jdbc+servlet+tomcat7.0+jdk1.8)(js验证+cookie)

    1.index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" p ...

  2. 使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序

    使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序 不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻 ...

  3. Python Web实战:Python+Django+MySQL实现基于Web版的增删改查

    前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...

  4. 前端的CRUD增删改查的小例子

    前端的CRUD增删改查的小例子 1.效果演示 2.相关代码: <!DOCTYPE html> <html lang="en"> <head> & ...

  5. 后盾网lavarel视频项目---lavarel使用模型进行增删改查操作

    后盾网lavarel视频项目---lavarel使用模型进行增删改查操作 一.总结 一句话总结: 使用模型操作常用方法 查一条:$model=Tag::find($id); 删一条:Tag::dest ...

  6. 基于renren-fast的快速入门项目实战(实现报表增删改查)

    基于renren-fast的快速入门项目实战(实现报表增删改查) 说明:renren-fast是一个开源的基于springboot的前后端分离手脚架,当前版本是3.0 官方开发文档需付费,对于新手而言 ...

  7. BootstrapTable与KnockoutJS相结合实现增删改查功能

    http://www.jb51.net/article/83910.htm KnockoutJS是一个JavaScript实现的MVVM框架.通过本文给大家介绍BootstrapTable与Knock ...

  8. IDEA搭建SSM实现登录、注册,数据增删改查功能

     本博文的源代码:百度云盘/java/java实例/SSM实例/SSM实现登录注册,增删改查/IDEA搭建SSM实现登录,注册,增删改查功能.zip 搭建空的Maven项目 使用Intellij id ...

  9. 使用MVC5+Entity Framework6的Code First模式创建数据库并实现增删改查功能

    此处采用VS2017+SqlServer数据库 一.创建项目并引用dll: 1.创建一个MVC项目 2.采用Nuget安装EF6.1.3 二.创建Model 在models文件夹中,建立相应的mode ...

随机推荐

  1. RocketMQ 零拷贝

    一.零拷贝原理:Consumer 消费消息过程,使用了零拷贝,零拷贝包含以下两种方式: 1.使用 mmap + write 方式  (RocketMQ选择的方式:因为有小块数据传输的需求,效果会比 s ...

  2. Autotestplat体验中心

    web端 移动端 可戳[阅读原文]进行体验

  3. 5G将会是量变到质变的新科技时代

    ​马斯洛需求分为5层,最底层的需求是温饱,过去几十年都无人反驳,但随着科技的发展,人类最基本最底层的需求已经不再是温饱,而是手机和WIFI,当然,这只是网友的调侃罢了,但也从侧面反映出了手机和WFI网 ...

  4. jQuery学习笔记二

    事件监听者是DOM的一部分,任何页面都可以增加事件监听者.浏览器利用事件监听者监视页面上做了什么,然后告诉Javascript解释器是否需要采取行动.如:$('#showMessage').click ...

  5. sycPHPCMS v1.6 cookie sqlinjection

    ./user/index.php include "../include/conn.php"; include "../include/function.php" ...

  6. 曹工说Spring Boot源码(21)-- 为了让大家理解Spring Aop利器ProxyFactory,我已经拼了

    写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...

  7. USB小白学习之路(10) CY7C68013A Slave FIFO模式下的标志位(转)

    转自良子:http://www.eefocus.com/liangziusb/blog/12-11/288618_bdaf9.html CY7C68013含有4个大端点,可以用来处理数据量较大的传输, ...

  8. Python在计算内存时应该注意的问题?

    我之前的一篇文章,带大家揭晓了 Python 在给内置对象分配内存时的 5 个奇怪而有趣的小秘密.文中使用了sys.getsizeof()来计算内存,但是用这个方法计算时,可能会出现意料不到的问题. ...

  9. Lambda 方法引用

    1.方法引用:若Lambda 体中的内容有方法已经实现了,我们可以使用“引用方法”(可以理解为方法引用是Lambda表达式的另外一种表现形式) 方法引用主要有三种语法格式: ①  对象 :: 实例方法 ...

  10. 大型Java进阶专题(三) 软件架构设计原则(下)

    前言 ​ 今天开始我们专题的第二课了,本章节继续分享软件架构设计原则的下篇,将介绍:接口隔离原则.迪米特原则.里氏替换原则和合成复用原则.本章节参考资料书籍<Spring 5核心原理>中的 ...