📅  最后修改于: 2023-12-03 15:09:22.817000             🧑  作者: Mango
Spring Boot是Spring Framework的一种扩展,它通过提供预配置的模板和自动配置来简化了Spring应用程序的搭建和开发。它是一个开源的Java开发框架,应用广泛,被认为是构建Java Web应用程序的最佳选择之一。
Spring Boot是Spring Framework的一种扩展,它提供了简化开发的功能和约定,使开发者能够更快速地创建Spring应用程序。
Spring Boot的特点:
在开始学习Spring Boot之前,我们需要正确地安装和配置它。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
在创建第一个Spring Boot应用程序之前,我们需要先了解一些Spring Boot的基础知识。
现在让我们编写第一个Spring Boot应用程序:
com.example
的包。SampleController
的Java类,并用@RestController注解注释它。在该类中添加一个方法,用于返回字符串“Hello World”。@RestController
public class SampleController {
@RequestMapping("/")
public String home() {
return "Hello World";
}
}
src/main/java
文件夹中创建一个名为Application
的Java类。使用@SpringBootApplication注解注释此类,并将SpringBoot应用程序的入口点声明为main方法。@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
在上面的例子中,我们使用了Spring Boot的两个核心注解:
在我们的Spring Boot应用程序中使用MyBatis非常容易,只需要遵循以下步骤:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
public interface UserMapper {
@Select("SELECT * FROM user")
List<User> findAllUsers();
}
public class User {
private int userId;
private String username;
private String password;
// 省略getter和setter方法
}
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=user
spring.datasource.password=pass
@Configuration
public class DatabaseConfig {
@Value("${spring.datasource.url}")
private String url;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Bean
public DataSource dataSource() {
return DataSourceBuilder.create()
.url(url)
.username(username)
.password(password)
.build();
}
}
@Configuration
@EnableTransactionManagement
@MapperScan("com.example.mapper")
public class MyBatisConfig {
@Autowired
private DataSource dataSource;
@Bean
public SqlSessionFactoryBean sqlSessionFactory() throws Exception {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mapper/*.xml"));
factoryBean.setDataSource(dataSource);
return factoryBean;
}
@Bean
public PlatformTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource);
}
}
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/")
public List<User> allUsers() {
return userMapper.findAllUsers();
}
}
Thymeleaf是使用Java模板引擎的一种方式,它允许在HTML模板中轻松地嵌入动态数据。
要在我们的Spring Boot应用程序中使用Thymeleaf模板引擎,我们需要遵循以下步骤:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
spring.thymeleaf.mode=HTML5
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.check-template-location=true
spring.thymeleaf.suffix=.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Title</title>
</head>
<body>
<h1 th:text="${title}"></h1>
<ul>
<li th:each="name : ${names}" th:text="${name}"></li>
</ul>
</body>
</html>
@Controller
public class MyController {
@RequestMapping("/")
public String index(Model model) {
model.addAttribute("title", "欢迎访问我的网站");
model.addAttribute("names", new String[]{"Alice", "Bob", "Charlie"});
return "index";
}
}
Swagger是一款API文档自动生成工具,可以自动检测代码中带有注解的API接口,并生成可视化的接口文档。
要在我们的Spring Boot应用程序中使用Swagger2,我们需要遵循以下步骤:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
<scope>compile</scope>
</dependency>
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
Spring Boot是一个非常流行的Java开发框架,它提供了许多强大而方便的功能,使得开发人员能够更快速地创建Java Web应用程序。学习Spring Boot非常容易,只需要遵循上面的步骤即可快速入门。