[Spring] Spring原理(SpringBoot完结)
Spring是一个开源的Java/Java EE全功能栈应用程序框架,以Apache许可证形式发布,提供了各种服务,如依赖注入、事务管理、数据访问抽象以及Web应用程序支持等。
Spring的核心功能是依赖注入(DI)和控制反转(IOC),它可以使你的代码更加简洁,减少代码之间的耦合,使得代码更容易测试和维护。
Spring框架的主要模块:
- Core Container - Beans, Core, Context, Expression Language
- Data Access/Integration - JDBC, ORM, OXM, JMS, Transactions
- Web - Web, Servlet, WebSocket, Portlet
- AOP - AOP
- Instrumentation - Instrument, Instrument Tomcat
- Test - Test
SpringBoot是Spring的一个子项目,旨在简化Spring应用的初始搭建以及开发过程。它的目标是让你的应用“Run Anywhere”,可以是嵌入式的Tomcat,也可以是独立的应用。
SpringBoot的主要特性:
- 创建独立的Spring应用。
- 嵌入式Tomcat,无需部署WAR文件。
- 自动配置Spring和中间件。
- 提供starter POMs以简化Maven配置。
- 提供命令行工具,如spring run,用于运行Groovy脚本。
- 提供一个运行时的视图,以监控应用。
SpringBoot的启动类示例:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
SpringBoot配置属性示例:
# 应用基本属性
spring.application.name=myapp
server.port=8080
# 数据库连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=myuser
spring.datasource.password=mypass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
SpringBoot使用Thymeleaf模板引擎示例:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Hello</title>
</head>
<body>
<h1 th:text="'Hello, ' + ${name} + '!'"></h1>
</body>
</html>
SpringBoot使用REST控制器示例:
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String hello() {
return "Hello, World!";
}
}
SpringBoot使用JPA示例:
import javax.persistence.Entity;
import javax.persistence.Gene
评论已关闭