SpringBoot复习:(1)常用的SpringApplication.run返回的容器的具体类型是哪个?
发布人:shili8
发布时间:2025-02-26 06:18
阅读次数:0
**SpringBoot复习**
### (1) 常用的SpringApplication.run返回的容器的具体类型是哪个?
在Spring Boot中,`SpringApplication.run()`方法用于启动应用程序。这个方法会创建一个Spring Boot应用程序的容器,并且会将其作为一个Java进程运行。
**常用容器类型**
Spring Boot提供了多种容器类型供选择,包括:
* **Tomcat**:这是最常用的容器类型之一,它基于Apache Tomcat服务器。
* **Jetty**:这是另一种常用的容器类型,它基于Jetty Web Server。
* **Undertow**:这是一个轻量级的容器类型,它基于WildFly应用程序服务器。
**示例代码**
以下是使用Spring Boot2.3.x版本启动Tomcat容器的示例代码:
javaimport org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplicationpublic class TomcatExampleApplication { public static void main(String[] args) { SpringApplication.run(TomcatExampleApplication.class, args); } }
在这个示例中,我们使用`@SpringBootApplication`注解来标记我们的应用程序类。然后,我们使用`SpringApplication.run()`方法启动应用程序。
**容器类型的选择**
当我们选择容器类型时,需要考虑以下几点:
* **性能**:Tomcat和Jetty是两个比较流行的容器类型,它们都有很好的性能。
* **功能**:Undertow是一个轻量级的容器类型,它提供了更多的功能。
* **依赖关系**:每个容器类型都有自己的依赖关系,我们需要根据应用程序的需求选择合适的容器。
**总结**
在Spring Boot中,`SpringApplication.run()`方法用于启动应用程序。这个方法会创建一个Spring Boot应用程序的容器,并且会将其作为一个Java进程运行。常用的容器类型包括Tomcat、Jetty和Undertow,每个容器类型都有自己的特点和依赖关系,我们需要根据应用程序的需求选择合适的容器。
### (2) SpringBoot中如何使用Spring MVC在Spring Boot中,Spring MVC是默认的Web框架。我们可以通过以下几种方式来使用Spring MVC:
* **@EnableWebMvc**:这个注解用于启用Spring MVC功能。
* **@Controller**:这个注解用于标记控制器类。
* **@RequestMapping**:这个注解用于映射请求路径。
**示例代码**
以下是使用Spring Boot2.3.x版本启动Spring MVC的示例代码:
javaimport org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication@EnableWebMvcpublic class SpringMVCExampleApplication { public static void main(String[] args) { SpringApplication.run(SpringMVCExampleApplication.class, args); } }
在这个示例中,我们使用`@EnableWebMvc`注解来启用Spring MVC功能。
**控制器类**
以下是使用Spring Boot2.3.x版本创建一个控制器类的示例代码:
javaimport org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controllerpublic class HelloController { @RequestMapping("/hello") public String hello() { return "hello"; } }
在这个示例中,我们使用`@Controller`注解来标记控制器类。然后,我们使用`@RequestMapping`注解来映射请求路径。
**总结**
在Spring Boot中,Spring MVC是默认的Web框架。我们可以通过启用Spring MVC功能、创建控制器类和映射请求路径等方式来使用Spring MVC。
### (3) SpringBoot中如何使用Spring Data JPA在Spring Boot中,Spring Data JPA是用于操作数据库的框架。我们可以通过以下几种方式来使用Spring Data JPA:
* **@EnableJpaRepositories**:这个注解用于启用Spring Data JPA功能。
* **@Repository**:这个注解用于标记数据访问对象类。
* **@Entity**:这个注解用于标记实体类。
**示例代码**
以下是使用Spring Boot2.3.x版本启动Spring Data JPA的示例代码:
javaimport org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication@EnableJpaRepositoriespublic class SpringDataJPAApplciation { public static void main(String[] args) { SpringApplication.run(SpringDataJPAApplciation.class, args); } }
在这个示例中,我们使用`@EnableJpaRepositories`注解来启用Spring Data JPA功能。
**数据访问对象类**
以下是使用Spring Boot2.3.x版本创建一个数据访问对象类的示例代码:
javaimport org.springframework.stereotype.Repository; @Repositorypublic class UserRepository { @PersistenceContext private EntityManager entityManager; public ListfindAll() { return entityManager.createQuery("SELECT u FROM User u", User.class).getResultList(); } }
在这个示例中,我们使用`@Repository`注解来标记数据访问对象类。然后,我们使用`EntityManager`接口来操作数据库。
**实体类**
以下是使用Spring Boot2.3.x版本创建一个实体类的示例代码:
javaimport javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entitypublic class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
在这个示例中,我们使用`@Entity`注解来标记实体类。
**总结**
在Spring Boot中,Spring Data JPA是用于操作数据库的框架。我们可以通过启用Spring Data JPA功能、创建数据访问对象类和实体类等方式来使用Spring Data JPA。
### (4) SpringBoot中如何使用Spring Security在Spring Boot中,Spring Security是用于保护应用程序安全性的框架。我们可以通过以下几种方式来使用Spring Security:
* **@EnableWebSecurity**:这个注解用于启用Spring Security功能。
* **@Secured**:这个注解用于标记需要授权的方法或类。
* **@RolesAllowed**:这个注解用于指定允许访问的角色。
**示例代码**
以下是使用Spring Boot2.3.x版本启动Spring Security的示例代码:
javaimport org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication@EnableWebSecuritypublic class SpringSecurityExampleApplication { public static void main(String[] args) { SpringApplication.run(SpringSecurityExampleApplication.class, args); } }
在这个示例中,我们使用`@EnableWebSecurity`注解来启用Spring Security功能。
**授权类**
以下是使用Spring Boot2.3.x版本创建一个授权类的示例代码:
javaimport org.springframework.security.access.annotation.Secured; import org.springframework.stereotype.Controller; @Controllerpublic class HelloController { @Secured("ROLE_USER") public String hello() { return "hello"; } }
在这个示例中,我们使用`@Secured`注解来标记需要授权的方法。
**角色类**
以下是使用Spring Boot2.3.x版本创建一个角色类的示例代码:
javaimport org.springframework.security.access.annotation.RolesAllowed; public class Role { @RolesAllowed({"ROLE_USER", "ROLE_ADMIN"}) public String getRole() { return "user"; } }
在这个示例中,我们使用`@RolesAllowed`注解来指定允许访问的角色。
**总结**
在Spring Boot中,Spring Security是用于保护应用程序安全性的框架。我们可以通过启用Spring Security功能、创建授权类和角色类等方式来使用Spring Security。
### (5) SpringBoot中如何使用Spring Cache在Spring Boot中,Spring Cache是用于缓存数据的框架。我们可以通过以下几种方式来使用Spring Cache:
* **@EnableCaching**:这个注解用于启用Spring Cache功能。
* **@Cacheable**:这个注解用于标记需要缓存的方法或类。
* **@CacheEvict**:这个注解用于清除缓存。
**示例代码**
以下是使用Spring Boot2.3.x版本启动Spring Cache的示例代码:
javaimport org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication@EnableCachingpublic class SpringCacheExampleApplication { public static void main(String[] args) { SpringApplication.run(SpringCacheExampleApplication.class, args); } }
在这个示例中,我们使用`@EnableCaching`注解来启用Spring Cache功能。
**缓存类**
以下是使用Spring Boot2.3.x版本创建一个缓存类的示例代码:
javaimport org.springframework.cache.annotation.Cacheable; import