Spring框架详解

Spring框架详解(持续更新) Mybatis Spring SpringMVC详解 阅读详情

前言

Spring boot + Mybatis + Thymeleaf + Druid +mySql

开发环境(小编使用的版本)

JDK版本 :1.8及以上 (JDK1.8);

开发工具 :Intellij IDEA (IDEA2018.2);

服务器 :Tomcat(务必比JDK版本高,小编不在解释(Jar包不用配置、War需要配置)) (Tomcat9) ;

JRE包 :Maven仓库 (Maven3.6);

数据库 :MySql(MySql5.5) ;

正题

Spring boot :2.1.1RELEASE ;

Thymeleaf

Mybatis

阿里云的连接池 : Druid ;

步骤

1.创建Springboot:

 

2.创建项目文件结构

 

3.POM依赖

如果使用阿里云的连接池不选择JDBC,小编用的阿里云这里不选择

 

点击Finish;

注:可能Maven中无Jar包需要从仓库下载,需要耐心等待(可以去听首歌)

4.项目结构

 

5.POM

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.1.1.RELEASE</version>

<relativePath/> <!-- lookup parent from repository -->

</parent>

<groupId>com.spring</groupId>

<artifactId>boot</artifactId>

<version>0.0.1-SNAPSHOT</version>

<name>boot</name>

<description>Demo project for Spring Boot</description>

<properties>

<java.version>1.8</java.version>

</properties>

<dependencies>

<!-- Springboot 热部署 -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-devtools</artifactId>

<optional>true</optional>

</dependency>

<!-- 阿里的Druid连接池 -->

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid-spring-boot-starter</artifactId>

<version>1.1.10</version>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-thymeleaf</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>1.3.2</version>

</dependency>

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<scope>runtime</scope>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

</dependencies>

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

</project>

注:IDEA失效解决方法

 

6.小编使用的application.properties文件,项目启动识别两种格式的文件properties和yml文件:

#缓存设置为false, 修改之后马上生效

spring.thymeleaf.cache=false

spring.thymeleaf.encoding=UTF-8

#spring.thymeleaf.prefix=classpath:/templates/

#spring.thymeleaf.suffix=.html

server.port=8080

server.tomcat.uriEncoding=utf-8

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

spring.datasource.url=jdbc:mysql://localhost:3306/web?useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.druid.driverClassName=com.mysql.cj.jdbc.Driver

#初始化连接

spring.datasource.initialSize=20

#最大空闲数

spring.datasource.maxActive=50

#最小空闲数

spring.datasource.minIdle=10

#获取连接等待时间

#spring.datasource.druid.max-wait=60000

#最小等待时间

#spring.datasource.minEvictableIdleTimeMillis=3600000

7.其他文件生成

User.java

package com.spring.boot.bean;

public class User {

public Integer uid;

public String uname;

public String upassword;

public Integer getUid() {

return uid;

}

public void setUid(Integer uid) {

this.uid = uid;

}

public String getUanme() {

return uname;

}

public void setUanme(String uanme) {

this.uname = uanme;

}

public String getUpassword() {

return upassword;

}

public void setUpassword(String upassword) {

this.upassword = upassword;

}

@Override

public String toString() {

return "User{" +

"uid=" + uid +

", uname='" + uname + '\'' +

", upassword='" + upassword + '\'' +

'}';

}

}

UserDao.java

注解的形式,小编感觉比XML好用

package com.spring.boot.dao;

import com.spring.boot.bean.User;

import org.apache.ibatis.annotations.Select;

import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface UserDao {

@Select("select * from user")

public List<User> AllUser();

@Update("<script> " + "update user" +

"<set>"+ "<if test='uname!=null'>uname=#{uname},</if>"+

"<if test='upassword!=null'>upassword=#{upassword},</if>"+

"</set>"+ "where uid=#{uid}"+

" </script> ")

public int Update(User user);

}

UserService.java

package com.spring.boot.service;

import com.spring.boot.bean.User;

import java.util.List;

public interface UserService {

public List<User> AllUser();

public int Update(User user);

}

UserImpl.java

主要是注解问题Service可以命名,主要还是看自己的日常使用

package com.spring.boot.service.impl;

import com.spring.boot.bean.User;

import com.spring.boot.dao.UserDao;

import com.spring.boot.service.UserService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import java.util.List;

@Service

public class UserImpl implements UserService {

@Autowired

private UserDao userDao;

@Override

public List<User> AllUser() {

return userDao.AllUser();

}

@Override

public int Update(User user) {

return userDao.Update(user);

}

}

注:userDao报红解决方法

 

UserController.java

package com.spring.boot.controller;

import com.spring.boot.bean.User;

import com.spring.boot.service.impl.UserImpl;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

public class UserController {

@Autowired

private UserImpl userimpl;

@RequestMapping("/index")

public String index(Model model, User user){

model.addAttribute("user",userimpl.AllUser());

user.uid = 2;

user.uname = "nan";

user.upassword = "lou";

userimpl.Update(user);

System.out.println("******************"+userimpl.AllUser());

System.out.println("******************"+userimpl.Update(user));

return "index";

}

}

index.html

<!DOCTYPE html>

<html xmlns:th="http://www.thymeleaf.org">

<head>

<meta charset="UTF-8">

<title>Title</title>

</head>

<body>

Spring boot+Thymeleaf!<br>

<span th:text="${user}"></span>

</body>

</html>

8.界面显示

 

注:后续功能再写!

欢迎工作一到五年的Java工程师朋友们加入Java架构师:697558955

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

FPGA可重构技术 介绍FPGA 可重构技术的实现方法,包括全局重构和部分重构 阅读详情

相关推荐

手把手教你用 Docker 构建自己的 CentOS 基础镜像

目录一、准备CentOS基础镜像二、撰写Dockerfile三、构建Docker镜像四、生成Docker容器 相信码农们经常会听说:虚拟机将成为历史,Docker才是未来 !!! 事实如此,现在大部分公司都在用 Docker 技术,想拥有自己的 Docker 专属镜像,那么 Dockerfile 就是入门,现在让我们一起来看一下 ------ 构建 Docker 镜像的全过程。 好文章 记得收藏...

Nick.Peng's Blogs 1万+

spring框架--全面详解(学习笔记)

由 Spring IoC 容器管理的对象称为 Bean,Bean 根据 Spring 配置文件中的信息创建。可以把 Spring IoC 容器看作是一个大工厂,Bean 相当于工厂的产品,如果希望这个大工厂生产和管理 Bean,则需要告诉容器需要哪些 Bean,以及需要哪种方式装配 Bean。Spring 配置文件支持两种格式,即 XML 文件格式和 Properties 文件格式。

swy2560666141的博客 1万+

Dify工作流教程|以抓取网页并更新知识库为例详细讲解工作流编排过程(附DSL文件)

{"name": "{新建的title变量}","text": "新建的content变量","indexing_technique": "high_quality","process_rule": {"mode": "automatic"}}有没有很痛苦,明明添加书签的网页,当你想阅读的时候,总是找不到或者好不容易找到了,发现网页404了。如果有个小工具,直接能把你输入的链接内容抓取下来,并且加入到你的知识库中,你说他香不香。无法获取授权的,也可以使用网页抓取工具,这个是免费的,抓取效果也可以。

同名公众号:dify实验室 1万+

spring框架学习(一)

1,什么是spring框架 spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,ibatis框架等组合使用。     2,架构概述       1)IoC(Inversion of Control)控制反转,对象创建责任的反转,在spring中BeanFacotory

李双喆 53万+

基于PLC的全自动洗衣机控制系统+控制程序

本设计使用PLC控制系统替换了传统的继电器控制系统,实现了全自动洗衣机在硬件方面的提升,丰富了全自动洗衣机在软件方面的功能,提高了全自动洗衣机的洗衣效率,基本可以满足用户的洗衣需求。

zzzz114231的博客 8956

当LightGBM推理遇上GPU:3种替代方案性能对比(含ONNX实战代码)

本文针对LightGBM官方不支持GPU推理的性能瓶颈,深度评测了RAPIDS cuML、ONNX Runtime GPU和Triton Inference Server三种GPU加速推理替代方案。通过详尽的性能对比和实战代码,为高并发、低延迟的在线预测场景提供了清晰的选型指南,帮助工程师打破推理性能枷锁,实现显著的吞吐量提升。

salt9的博客 813

Spring 框架详解

Spring 是一个功能强大的企业级开发框架,提供了从核心容器、AOP、数据访问到 Web 开发、微服务架构的完整解决方案。Spring Boot 进一步简化了 Spring 的使用,使开发更高效。

m0_69529796的博客 2065

从零开始:kohya_ss环境部署与LoRA/SDXL模型训练实战指南

本文提供了一份详细的kohya_ss环境部署与模型训练实战指南。从零开始,手把手教你使用Conda创建虚拟环境、安装依赖并启动Web GUI界面。核心内容涵盖高质量数据集的准备方法,并重点解析了如何使用kohya_ss工具进行LoRA模型和SDXL模型的微调训练,包括关键参数配置与常见报错解决方案,帮助初学者快速上手AI绘画模型定制。

weixin_29162439的博客 536

Spring框架IoC核心详解

Spring框架IoC核心详解 https://baijiahao.baidu.com/s?id=1613047743708688271&wfr=spider&for=pc

lizhe10177的专栏 334

别再只玩积木了!用乐高EV3和官方软件,手把手教你做个能巡线的小车(附完整代码)

本文详细介绍了如何利用乐高EV3套件和官方软件制作智能巡线机器人,从硬件组装到软件编程全面覆盖。通过传感器原理讲解、控制算法调试等工程化细节,帮助读者掌握机器人开发的核心理念,特别适合STEAM教育和硬件编程爱好者实践。

weixin_30776273的博客 449

卷积层 (Convolutional Layer) 原理与代码实例讲解

卷积层 (Convolutional Layer) 原理与代码实例讲解 关键词:卷积层,卷积操作,滤波器,特征提取,神经网络 1. 背景介绍 卷积神经网络 (Convolutional N

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 770

Spring框架全面详解

Spring框架是轻量级的Java企业应用开发框架,通过控制反转(IoC)和依赖注入(DI)实现对象管理,采用面向切面编程(AOP)处理横切关注点。其模块化架构包含核心容器、数据访问、Web层等功能模块,支持声明式事务管理和RESTful开发。Spring Boot简化了配置,而Spring Cloud提供了微服务支持。最佳实践包括优先Java配置、合理使用缓存和事务边界优化。Spring已成为Java企业开发的事实标准,其生态系统仍在持续扩展。

weixin_47242663的博客 652

vue3+ts+elementui-plus二次封装树形表格实现不同层级展开收起的功能

我只定义了三层数据,就只演示展开了三层,还可以多层,自己设置即可。

蜗牛~~ 2603

java 详解 搭建 框架_Spring框架概述,搭建项目配置详解

Spring----01----概述&&配置详解1. Spring框架Spring框架的作用范围横跨项目的三层;Spring是项目中对象的管家;2003年由Rob Johnson创建。2. Spring框架搭建2.1 导入依赖 org.springframework spring-context 5.2.6.RELEASE 2.2 创建一个类public class User {...

weixin_32306683的博客 485

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SSM(Spring+Spring MVC+Mybatis)环境框架搭建与配置详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 一、简介 使用SSM框架做了一些项目,一直都是使用别人已经搭建好的框架。于是自己尝试着搭建了一下框架,并研究了一下配置文件。 基本的组织结构和用法就不用多说了,各种官方文档上比较全面 二、环境与框架 开发环境MyEclipse+JDK1.7+Tomcat7 开发环境配置请查阅博客 本文按

pgpanda的专栏 2万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Spring-AMQP 详解:基于 Spring 的 RabbitMQ 集成框架

Spring-AMQP 核心摘要 Spring-AMQP 是 Spring 生态中集成 RabbitMQ 的核心框架,提供企业级消息中间件解决方案。主要特性包括: 简化开发:封装 Connection/Channel 管理,提供声明式资源配置(Queue/Exchange/Binding) 核心组件: RabbitTemplate 用于消息发送 @RabbitListener 实现声明式消费 消息监听容器管理并发与重试 高级功能: 支持 JSON 序列化(Jackson2JsonMessageConvert

csdn_tom_168的博客 1562

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【spring】03 全面详解spring框架

目录什么是spring framework容器spring用到的设计模式spring IOCspring 有哪些配置方式spring Bean的生命周期 什么是spring framework spring framework是一个轻量级的基于IOC和AOP的面向j2ee系统的框架 它是轻量级的松耦合的框架 可以集合各种框架,比如mybatis和springMVC等,是框架的框架 具有分层结构,允许用户自主选择组件 容器 Core Container Spring的核心基础模块,提供IOC、DI、资源

阿杰 511

Java Spring 框架详解

文章目录1 Spring入门1.1 Spring 简介1.1.1 Spring的由来1.1.2 Spring的优点1.1.3 Spring的体系结构1.2 Spring 开发环境1.2.1 环境准备1.2.2 创建 Spring 工程1.3 使用IDEA开发 Spring 入门程序2 Spring IoC2.1 Spring IoC 的基本概念2.2 Spring IoC 容器2.2.1 BeanFactory2.2.2 ApplicationContext3 Spring Bean4 Spring AOP

qq_41803426的博客 7677

关于对Spring框架的详解

Spring框架的详细理解

S_yyuan的博客 1687

Spring框架详解New

Spring框架详解New1. Spring框架概述2. Spring框架特点3. Spring框架优缺点3.1 Spring框架优点3.2 Spring框架缺点4. Spring框架设计模式5. Spring IoC5.1 Spring IoC概念5.2 Spring BeanFactory5.3 Spring ApplicationContext5.4 BeanFactory 和 ApplicationContext的区别5.5 Spring DI 依赖注入5.6 WebApplication 体系架构

靖节先生的博客 2043
上一篇: 使用docker部署spring cloud项目详细步骤
下一篇: IT技术人员转行大数据,应该考虑那些问题
普通网友
博客等级 码龄8年 15粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值