SpringBoot项目

一:SpringBoot

1.springboot介绍
Spring Boot为Java开发人员提供了一个很好的平台来开发一个可以直接运行的独立和生产级的 Spring 应用程序
2.优点
(1)可以快速独立的创建Spring及主流框架集成的项目。
(2)使用了嵌入式的Servlet容器,无需生成WAR包
(3)我们在使用SpringBoot进行开发时可以使用Starts启动依赖,而SpringBoot会自动地把所需要的其他相关技术jar包导入
(4)大量的自动配置,极大地简化了我们的开发。
(5)无需XML文件的大量编写,也不会生成代码,底层是利用SpringBoot写好的API来调用实现,开箱即用
(6)SpringBoot也有运维监控项目的功能
(7)SpringBoot与云计算的集成
3.工作过程
Spring Boot 使用 @EnableAutoConfiguration 注解根据您添加到项目的依赖项自动配置您的应用程序。 例如,如果 MySQL 数据库在你的类路径上,但你没有配置任何数据库连接,那么 Spring Boot 会自动配置一个内存数据库。
Spring Boot 应用程序的入口点是包含 @SpringBootApplication 注解的类和 main 方法。
Spring Boot 通过使用 @ComponentScan 注解自动扫描项目中包含的所有组件。
4.Spring Boot启动器
(1)Spring Boot Starter Actuator依赖项用于监视和管理您的应用程序
(2)Spring Boot Starter Security依赖项用于Spring Security
(3)Spring Boot Starter web依赖用于编写一个Rest Endpoints
(4)Spring Boot Starter Thyme Leaf依赖项用于创建 Web 应用程序
(5)Spring Boot Starter Test 依赖项用于编写测试用例
5.Spring Boot 应用程序
Spring Boot Application 的入口点是包含 @SpringBootApplication 注解的类。 这个类应该有运行 Spring Boot 应用程序的 main 方法。 @SpringBootApplication 注解包括自动配置、组件扫描和 Spring Boot 配置。
如果在类中添加了@SpringBootApplication注解,则不需要添加@EnableAutoConfiguration、@ComponentScan和@SpringBootConfiguration注解。 @SpringBootApplication 注解包括所有其他注解。
6.引入依赖
(1)maven


   
      org.springframework.boot
      spring-boot-starter-web
   

(2)gradle

dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}

7.Beans和依赖注入
在Spring Boot中,我们可以使用Spring Framework来定义我们的bean及其依赖注入。@ComponentScan 注解用于查找bean,并用 @Autowired 注解进行相应的注入
8.常用注解
(1)@Mapper
@Mapper注解是由Mybatis框架中定义的一个描述数据层接口(dao)的注解,注解往往起到的都是一个描述性作用,用于告诉spring框架此接口的实现类由Mybatis负责创建,并将其实现类对象存储到spring容器中。
(2)@Autowired
默认按类型装配(这个注解是属业spring的),默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false
(3)@Resource
Spring将@Resource注解的name属性解析为bean的名字,type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。
(4)@Service
@Service注解用于类上,标记当前类是一个service类,加上该注解会将当前类自动注入到Spring容器中,不需要再在applicationContext.xml文件定义bean了。
(5)@RestController
相当于@Controller + @ResponseBody 两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面
(6)@RequestMapping
@RequestMapping注解的主要用途是将Web请求与请求处理类中的方法进行映射。
(7)@RequestBody
@RequestBody在处理请求方法的参数列表中使用,它可以将请求主体中的参数绑定到一个对象中,请求主体参数是通过HttpMessageConverter传递的,根据请求主体中的参数名与对象的属性名进行匹配并绑定值。此外,还可以通过@Valid注解对请求主体中的参数进行校验。
(8)@GetMapping
@GetMapping注解用于处理HTTP GET请求,并将请求映射到具体的处理方法中。具体来说,@GetMapping是一个组合注解,它相当于是@RequestMapping(method=RequestMethod.GET)的快捷方式。
(9)@PostMapping
@PostMapping注解用于处理HTTP POST请求,并将请求映射到具体的处理方法中。
(10)@PutMapping
@PutMapping注解用于处理HTTP PUT请求,并将请求映射到具体的处理方法中,@PutMapping是一个组合注解,相当于是@RequestMapping(method=HttpMethod.PUT)的
快捷方式。
(11)@DeleteMapping
@DeleteMapping注解用于处理HTTP DELETE请求,并将请求映射到删除方法中。@DeleteMapping是一个组合注解,它相当于是@RequestMapping(method=HttpMethod.DELETE)的快捷方式。
(12)@PatchMapping
@PatchMapping注解用于处理HTTP PATCH请求,并将请求映射到对应的处理方法中。@PatchMapping相当于是@RequestMapping(method=HttpMethod.PATCH)的快捷方式。
(13)@ResponseBody
@ResponseBody会自动将控制器中方法的返回值写入到HTTP响应中。特别的,@ResponseBody注解只能用在被@Controller注解标记的类中。如果在被@RestController
标记的类中,则方法不需要使用@ResponseBody注解进行标注。@RestController相当于是@Controller和@ResponseBody的组合注解。
(14)@Override
表示当前方法覆盖了父类的方法,此注释只适用于修辞方法,表示一个方法声明打算重写超类中的另一个方法声明。如果方法利用此注释类型进行注解但没有重写超类方法,则编译器会生成一条错误消息
(15)@ExceptionHandler
@ExceptionHander注解用于标注处理特定类型异常类所抛出异常的方法。当控制器中的方法抛出异常时,Spring会自动捕获异常,并将捕获的异常信息传递给被@ExceptionHandler标注的方法。
(16)@RequestParam
@RequestParam注解用于将方法的参数与Web请求的传递的参数进行绑定。使用@RequestParam可以轻松的访问HTTP请求参数的值。
(17)@Controller
@Controller是@Component注解的一个延伸,Spring会自动扫描并配置被该注解标注的类。此注解用于标注Spring MVC的控制器。
(18)@ComponentScan
@ComponentScan注解用于配置Spring需要扫描的被组件注解注释的类所在的包。可以通过配置其basePackages属性或者value属性来配置需要扫描的包路径。value属性是
basePackages的别名。
(19)@Component
@Component注解用于标注一个普通的组件类,它没有明确的业务范围,只是通知Spring被此注解的类需要被纳入到Spring Bean容器中并进行管理。
(20)@Repository
@Repository注解也是@Component注解的延伸,与@Component注解一样,被此注解标注
的类会被Spring自动管理起来,@Repository注解用于标注DAO层的数据持久化类。
(21)@Bean
@Bean注解主要的作用是告知Spring,被此注解所标注的类将需要纳入到Bean管理工厂中。
(22)@PostConstruct与@PreDestroy
这两个注解不属于Spring,它们是源于JSR-250中的两个注解,位于common-annotations.jar中。@PostConstruct注解用于标注在Bean被Spring初始化之前需要执行的方法。@PreDestroy注解用于标注Bean被销毁前需要执行的方法。

二:SpringBoot项目

1.创建项目
2引入依赖
3.创建类,接口,
4.测试
5.部署
创建可执行JAR文件后,使用命令 java –jar 运行它

你可能感兴趣的:(springboot)