SpringBoot学习前置知识
基础篇
Spring与SpringMVC
Spring
- Spring简介:Spring是一个开源的Java应用程序框架,主要用于简化企业级应用程序开发的复杂性。
- 核心功能:Spring的核心功能包括依赖注入(DI)和面向切面编程(AOP)。
- Bean管理:Spring通过IoC容器管理Bean的生命周期和依赖关系。配置方式包括XML配置、注解配置和Java配置。
- SpringMVC:SpringMVC是Spring框架的一部分,用于构建基于MVC模式的Web应用程序。它通过@Controller、@RequestMapping等注解实现URL请求处理和视图解析。
示例代码
// 定义一个Bean
@Component
public class MyBean {
public void doSomething() {
System.out.println("Doing something...");
}
}
// 使用依赖注入
@Service
public class MyService {
@Autowired
private MyBean myBean;
public void execute() {
myBean.doSomething();
}
}
// SpringMVC控制器
@Controller
public class MyController {
@RequestMapping("/hello")
public String sayHello(Model model) {
model.addAttribute("message", "Hello, SpringMVC!");
return "hello";
}
}
Mybatis与Mybatis-Plus
Mybatis
- Mybatis简介:Mybatis是一个优秀的持久层框架,支持自定义SQL、存储过程以及高级映射。
- 核心功能:Mybatis通过XML或注解方式编写SQL语句,并将SQL执行结果映射为Java对象。
- 基础CRUD功能:Mybatis可以方便地实现数据库的增删改查操作。
Mybatis-Plus
- Mybatis-Plus简介:Mybatis-Plus是Mybatis的增强工具,简化了CRUD操作。
- 核心功能:Mybatis-Plus提供了丰富的插件支持,如分页插件、逻辑删除插件等。
示例代码
// Mybatis Mapper接口
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User findById(int id);
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
void insert(User user);
@Update("UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}")
void update(User user);
@Delete("DELETE FROM user WHERE id = #{id}")
void delete(int id);
}
// Mybatis-Plus Service接口
public interface UserService extends IService<User> {
}
// Mybatis-Plus Service实现类
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
数据库MySQL
MySQL
- MySQL简介:MySQL是一个关系型数据库管理系统,常用于Web应用程序的数据存储。
- 基础CRUD功能:能够读懂和编写基础的增删改查SQL语句。
示例SQL
-- 创建表
CREATE TABLE user (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
age INT
);
-- 插入数据
INSERT INTO user (name, age) VALUES ('Alice', 25);
-- 查询数据
SELECT * FROM user;
-- 更新数据
UPDATE user SET age = 26 WHERE name = 'Alice';
-- 删除数据
DELETE FROM user WHERE name = 'Alice';
服务器
Web服务器
- Web服务器简介:Web服务器用于处理客户端的HTTP请求,并返回相应的网页内容。
- 与Web工程的关系:Web服务器是Web工程的运行平台,负责接收和处理浏览器的请求。
- 基础配置:熟悉Web服务器(如Tomcat)的基础配置,如端口号设置、部署路径等。
Maven
Maven
- Maven简介:Maven是一个项目管理和构建工具,用于管理项目的依赖和构建过程。
- 依赖关系:Maven通过
pom.xml
文件管理项目的依赖,支持依赖范围、依赖传递、排除依赖和可选依赖。 - 继承:Maven支持多项目继承,可以统一管理多个模块的依赖和配置。
示例代码
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<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>
</dependency>
</dependencies>
</project>
Web技术(含Vue,ElementUI)
Vue
- Vue简介:Vue是一个用于构建用户界面的渐进式框架,擅长构建单页应用(SPA)。
- 发送Ajax请求:Vue通过
axios
库发送Ajax请求,从服务器获取数据。 - 数据双向绑定:Vue通过
v-model
指令实现数据模型的双向绑定。
ElementUI
- ElementUI简介:ElementUI是一个基于Vue的UI组件库,提供了丰富的UI组件,方便构建美观的用户界面。
示例代码
<!-- Vue发送Ajax请求 -->
<template>
<div>
<input v-model="message" placeholder="Enter something">
<button @click="sendRequest">Send</button>
<p>Response: {{ response }}</p>
</div>
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
message: '',
response: ''
};
},
methods: {
sendRequest() {
axios.post('/api/endpoint', { message: this.message })
.then(response => {
this.response = response.data;
})
.catch(error => {
console.error(error);
});
}
}
};
</script>
<!-- 使用ElementUI -->
<template>
<el-button type="primary">Primary Button</el-button>
</template>
<script>
import { ElButton } from 'element-ui';
export default {
components: {
ElButton
}
};
</script>
以上是SpringBoot学习前需要掌握的前置知识,涵盖了Spring、SpringMVC、Mybatis、MySQL、Web服务器、Maven以及前端技术Vue和ElementUI的基础内容。通过掌握这些知识,你将能够更好地理解和应用SpringBoot进行Web应用程序开发。