当前位置: 首页 > news >正文

icp ip 网站备案查询系统wordpress改变链接地址

icp ip 网站备案查询系统,wordpress改变链接地址,中国联通网站备案及ip地址备案管理要求,长沙找人做网站引言 Java是企业级应用开发的主流语言之一#xff0c;而我们作为使用Java语言的程序员#xff0c;职称有初级、中级、高级、资深、经理、架构#xff0c;但我们往往只是慢慢通过经验的积累迭代了自己的等级#xff0c;如果没有保持学习的习惯#xff0c;大多数程序员会停留…引言 Java是企业级应用开发的主流语言之一而我们作为使用Java语言的程序员职称有初级、中级、高级、资深、经理、架构但我们往往只是慢慢通过经验的积累迭代了自己的等级如果没有保持学习的习惯大多数程序员会停留在接近高级的位置简单来讲就是CRUD工程师小编不甘心于此所以长期保持学习新知识的习惯尝试很多大于自身能力的事情我相信未来的某一天我会感谢曾经努力的自己下面的内容是我在尝试架构项目时总结的经验希望能帮助到大家 前期准备 需求分析明确项目的功能需求技术选型 Java版本 817框架选择 应用SpringSpringBootSpringCloudORM对象关系映射JPAMyBatis(Plus)数据库选择 关系型MySQLPostgreSQLOracle非关系型RedisMongoDB时序数据库(物联网)TDengineIoTDB构建工具 MavenGradle 项目结构设计 分层架构 认证授权控制层业务层数据层模块划分 按功能划分按业务划分 简单示例 跳过项目的功能需求分析具体项目具体分析技术选型Java版本选择17应用框架选择SpringBootORM对象关系映射框架选择MyBatis-Plus数据库选择MySQL 8.x构建工具选择Maven项目结构拦截器中完成认证授权控制层接收用户请求调用业务层的方法业务层处理逻辑调用数据层的方法数据层与数据库交互跳过模块划分具体项目具体分析 准备开发环境 1.下载安装配置Java17 访问官方的下载地址Java Archive Downloads - Java SE 17 1.下载并解压  2.配置环境变量 我的电脑 - 属性 - 高级系统设置 - 环境变量 -系统变量(S) - 新建(W) 双击系统变量(S)中的Path - 新建(N)  确定后打开命令提示符界面快捷键 winR 输入 cmd 回车输入java -version命令查看是否安装成功 2.下载安装MySQL 8.x 访问官方的下载地址MySQL :: Download MySQL Installer (Archived Versions) 参考文章【MySQL8.0.39下载安装】_mysql8.0.39.0安装教程-CSDN博客  架构项目 1.创建SpringBoot项目  2.创建包/文件结构 3.认证与授权  首先确定使用什么标准和框架进行认证与授权常见的标准有OAuth 2.0JWT常见的框架有Spring SecurityApache Shiro我采用的是近几年很火的轻量级框架SaToken如何集成可以参考我的另一篇文章Java集成Sa-Token进行认证与授权_基于satoken的 sop-CSDN博客 4.创建数据库、用户表(含索引) DROP DATABASE IF EXISTS muze; CREATE DATABASE muze DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0; USE muze; DROP TABLE IF EXISTS t_user; CREATE TABLE t_user (id BIGINT NOT NULL AUTO_INCREMENT COMMENT 主键,username VARCHAR(30) COLLATE utf8mb4_0900_bin NOT NULL COMMENT 用户名,password VARCHAR(255) COLLATE utf8mb4_0900_bin NOT NULL COMMENT 密码,PRIMARY KEY (id) ) ENGINEINNODB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci COMMENT用户表; CREATE INDEX idx_username ON t_user(username); 5.创建用户实体 为了方便实体类的编写我们引入依赖 - 小辣椒 !-- 小辣椒 -- dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId /dependency /*** 用户实体* author muze*/ Data TableName(t_user) public class User implements Serializable {Serialprivate static final long serialVersionUID 684552117916625567L;/*** 主键*/TableId(type IdType.AUTO)private Long id;/*** 账号*/private String username;/*** 密码*/private String password; } 6.创建用户数据层 技术选型时数据库是MySQLORM(对象关系映射)框架是MyBatis-Plus因此引入对应依赖 !-- MySQL -- dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdversion8.0.33/version /dependency !-- MyBatis-Plus -- dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.7/version /dependency 在启动类上打MyBatis-Plus提供的MapperScan(MyBatis Mapper 接口包路径)自动扫描指定包下的 MyBatis Mapper 接口并将它们注册为 Spring 容器中的 Bean /*** 启动类* author muze*/ MapperScan(com.muze.project.mapper) SpringBootApplication public class ProjectApplication {public static void main(String[] args) {SpringApplication.run(ProjectApplication.class, args);}} 在配置文件application.yml中添加数据库连接信息 spring:datasource:url: jdbc:mysql://localhost:3306/muze?useSSLfalseserverTimezoneUTCuseUnicodetruecharacterEncodingutf-8username: 你的用户名password: 你的密码driver-class-name: com.mysql.cj.jdbc.Driver 用户数据层 /*** 用户数据层* author muze*/ public interface UserMapper extends BaseMapperUser { } 7.创建用户业务层 我习惯将业务层分离为接口层和实现层所以我会在sevice包下创建一个impl包如果你不习惯可以只编写实现层编写用户登录方法前需要定义方法入参和返回值 入参请求实体用户名 密码 返回值登录结果 创建DTO(请求实体) /*** 用户登录请求实体* author muze*/ Data public class UserLoginDTO implements Serializable {Serialprivate static final long serialVersionUID -1706553212610156227L;/*** 用户名*/private String username;/*** 密码*/private String password; } 用户登录业务接口层和实现层 /*** 用户业务接口层*/ public interface IUserService {/*** 登录* param userLoginDTO 用户登录请求实体* return 登录结果*/String login(UserLoginDTO userLoginDTO); }/*** 用户业务实现层* author muze*/ Service public class UserServiceImpl implements IUserService {/*** 注入用户数据层*/Autowiredprivate UserMapper userMapper;Overridepublic String login(UserLoginDTO userLoginDTO) {// 取出用户名和密码String username userLoginDTO.getUsername();String password userLoginDTO.getPassword();// 构建查询条件LambdaQueryWrapperUser userLambdaQueryWrapper new LambdaQueryWrapperUser().eq(User::getUsername, username);// 查询用户User user userMapper.selectOne(userLambdaQueryWrapper);// 如果用户为空或者输入密码与用户密码不匹配则返回用户名或密码错误if (user null || !password.equals(user.getPassword())) return 用户名或密码错误;// 使用SaToken的工具类StpUtil调用登录方法login入参用户idStpUtil.login(user.getId());// 返回登录成功return 登录成功;} } 8.创建用户控制层 编写控制层前我们要先确定请求路径请求方式请求参数响应数据 请求路径/user/login 请求方式POST 请求参数用户名 密码 响应数据响应码 响应消息 响应数据 DTO(请求实体)已经在编写用户业务层时创建好了 VO(响应实体)使用SaToken提供的SaResult /*** 用户控制层*/ RestController RequestMapping(/user) public class UserLogin {/*** 注入用户业务接口层*/Autowiredprivate IUserService userService;/*** 登录* param userLoginDTO 用户登录请求实体* return 响应码 响应消息 响应数据*/PostMapping(/login)public SaResult login(RequestBody UserLoginDTO userLoginDTO) {return SaResult.ok(userService.login(userLoginDTO));} } 测试 编写sql语句新增一条用户信息用于测试登录 INSERT INTO t_user (username, password) VALUES (muze, 123456); 启动项目使用接口调试工具测试登录功能 端口默认为8080  可以发现Cookie中放入了一个令牌 到此一个拥有基础功能登录认证与授权的Java项目就架构完成了后续就是按照功能需求划分模块进行开发了希望能对你有所帮助 彩蛋你肯定也发现了密码并没有进行加密解密虽然在HTTPS协议中Post请求会对传输数据加密但在HTTP协议中Post请求不会对传输数据加密因此我们还应该对数据传输进行加密小编会在后续更新一篇与数据加密相关的文章敬请期待
http://www.hkea.cn/news/14452185/

相关文章:

  • 深圳做网站的公司软件工程师招聘
  • 国外网站卖货平台南京做网站南京乐识专心
  • 做网站寄生虫需要哪些东西做网站视频学什么专业
  • c mvc网站做404黄页88网在线
  • 缪斯设计网站10g空间网站做视频网站
  • 常州网站推母婴网站这么做
  • 17网站一起做网店好不好wordpress这
  • 医院网站asp源码久久建筑有限公司
  • 试管婴儿网站建设学做网站论坛 可以吗
  • 网站开发直播软件装修报价单明细表
  • 百度合作的网盟网站一般注册公司要多少钱
  • 腾讯云快速搭建网站西安网吧
  • 腾讯做网站上传做设计兼职的网站
  • 免费发布信息网有哪些网站无锡效果图制作
  • 个人网站建设报价浮山网站建设
  • 深圳网站建设深圳营销网站是什么意思
  • 南宁建设公司网站手机之家报价大全2022
  • 企业网站模板科技感微网站开发流程图
  • 网站编辑器山西笑傲网站建设推广
  • 如何做资讯网站征求网站建设
  • 路由器 东莞网站建设昆明做企业网站多少钱
  • 上海做网站比较有名的公司有哪些苏州优秀网站设计
  • 网站建设费用要求成立一间网站开发公司
  • 网站建设网页制作多少钱应用软件大全
  • 南通做网站软件hao123网址导航
  • 施工员证书查询网站手机网站模板免费
  • 手表拍卖网站襄阳门做网站
  • 类似淘宝网 的淘宝客网站模板网上代做论文的网站
  • 天津百度整站优化服务常州网签备案查询
  • 厦门建设局网站工程师评审做一晚水泥工歌曲网站