admin管理员组文章数量:1794759
【SpringBoot 01】SpringBoot入门介绍,搭建运行一个SpringBoot小程序,SpringBoot常用注解
文章目录
- 1. Spring简介
- 2. Spring Boot介绍
- Spring Boot的核心功能概述
- 3. SpringBoot搭建快速入门程序
- SpringBoot的三种启动方式
- 4. Spring Boot 原理分析
- 起步依赖
- Spring Boot配置文件
- yml(yaml)配置文件介绍
- 5. SpringBoot常用注解
Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的全栈,轻量级代替品。无需开发重量级的 Enterprise JavaBean(EJB),Spring 为企业级Java 开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java 对象(Plain Old Java Object,POJO)实现了 EJB 的功能。 Spring核心是IOC和AOP,依赖注入和面向切面编程(事务、日志管理、权限、性能测试)
虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。
各种XML配置,像applicationContext-dao.xml、 applicationContext-tx.xml、springmvc.XML等等配置非常的繁琐。 而且项目的依赖管理也是一件耗时耗力的事情,特别是要十分注意版本兼容问题,pom.XML比较大。 决定项目里要用哪些库就已经是一件很麻烦的事情了,还要知道这些库的哪个版本和其他库不会有冲突问题。添加依赖不是写应用程序代码,一旦选错了依赖的版本,随之而来的不兼容问题毫无疑非常的难以排错和解决。
2. Spring Boot介绍Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。 springboot通过默认配置了很多框架的使用方式帮我们大大简化了项目初始搭建以及开发过程
SpirngBoot特点(优势)
选择springboot初始化工具创建项目 new - > project -> Spring Initializr
设置包名,工程名 3. 选择依赖(我这里选择创建web工程) 创建成功
写一个controller进行跳转测试
springboot将依赖,配置都承包了,开发者只要写三层架构的代码,实现业务功能就行。
@RestController注解:其实就是将之前的@Controller和@ResponseBody注解加在一起,返回json数据
@RestController public class TestController { //@RestController注解:其实就是将之前的@Controller和@ResponseBody注解加在一起,返回json数据 @RequestMapping("test") public String testGet(){ return "Hello SpringBoot TestController"; } }SpringBoot内置了tomcat服务器,我们不需要配置tomcat。
通过Application的main方法直接启动 启动成功 通过地址访问controller测试
SpringBoot的三种启动方式使用mvn install进行编译生成jar包springboot-0.0.1-SNAPSHOT.jar,这个jar包名称是你的项目名称-版本号(Version) 然后打开PowerShell窗口,通过命令java - jar .\\springboot-0.0.1-SNAPSHOT.jar金运行就行(jar名称得是你自己的)
4. Spring Boot 原理分析创建SpringBoot之后的默认pom.xml配置。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="maven.apache/POM/4.0.0" xmlns:xsi="www.w3/2001/XMLSchema-instance" xsi:schemaLocation="maven.apache/POM/4.0.0 maven.apache/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.0</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.xgf</groupId> <artifactId>springboot01</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot01</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> 起步依赖起步依赖,就是对功能进行一个打包,使我们在新建SpringBoot项目时,不用再去配置很多pom文件中依赖。 SpringBoot工程继承spring-boot-starter-parent后已经具备版本锁定等配置。起步依赖的作用就是进行依赖的传递。
spring-boot-starter-parent包自动帮我们引入了web模块开发需要的相关jar包。(相当于SpringBoot的父级) mybatis-spring-boot-starter帮我们引入了dao开发相关的jar包。 spring-boot-starter-xxx是官方提供的starter,xxx-spring-boot-starter是第三方提供的starter。 这些文件打开之后,没有任何源码,只有一个pom文件,它的作用就是引入了相关jar包。
SpringBoot打包插件 spring-boot-maven-plugin,maven的打包插件,用于做微服务,分布式,内部包含了tomcat服务器。
Spring Boot配置文件SpringBoot是基于约定的,所以很多配置都有默认值。 想使用自己的配置替换默认配置,就需要使用配置文件了。(此文件用于覆盖Spring Boot的默认配置) SpringBoot配置文件有两种:
1)application.properties 2)application.yml(application.yaml) SpringBoot默认会从Resources目录下加载application.properties或application.yml(application.yaml)文件 主配置文件推荐使用yml,但是yml除了主配置,其它配置不生效。
application.properties案例
#服务器端口号,会覆盖前面继承的端口号8080 server.port=8080 # DataBase Configuration: spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot spring.datasource.username=root spring.datasource.password=root yml(yaml)配置文件介绍yml文件格式是YAML (YAML Aint Markup Language)编写的文件格式。
yml文件有这些特点:
1)yaml是一种直观的能够被电脑识别的的数据数据序列化格式。 2)容易被人类阅读。 3)可以被支持yaml库的不同的编程语言程序导入。 4)yml文件是以数据为核心的,比传统的xml方式更加简洁。
application.yml案例
server: port: 8080 servlet: context-path: "/web01" 5. SpringBoot常用注解@SpringBootApplication | 主配置类。用于声明这个类就是SpringBoot的主配置类,SpringBoot通过运行主配置类的main方法执行程序。 |
@SpringBootConfiguration | 是一个Spring配置注解(继承@Configuration),将当前类声明的一个或多个**@Bean**注解标记的方法纳入Spring容器管理,实例名就是方法名。 |
@EnableAutoConfiguration | 自动装配,用于自动配置starter中的信,实现自动化装配。根据添加的jar包来配置项目的默认配置。 |
@ComponentScan | 包扫描,用于扫描指定位置下的所有的Spring相关注解(@Component,@Controller,@Service,@Repository) |
@Bean | 用在方法上,取代xml中的标签创建对象使用 |
@Configuration | 用在类上,声明当前类是一个配置文件(代替Spring配置文件) |
@RestController | @RestController == @ResponseBody + @Controller,就是将当前类标记为Controller并且类下的所有方法返回json数据。 |
@ConfigurationProperties | 配置属性绑定,把全局/主配置的yml/properties的配置信注入到POJO中,这个注解的使用需要把当前类标记为组件(添加注解@Component),可以添加属性prefix = 'xxx',这个xxx指的是yml/properties的key。 |
@PropertySource | 引入SpringBoot配置,当@ConfigurationProperties需要从副配置文件拿数据时,可以用@PropertySource手动引入副配置,value可指定多个路径 |
@ImportSource | 引入Spring配置。引入Xxx.xml的Spring配置文件,需要在主类配置该注解用于导入多个配置文件。@ImportResource(locations = {"classpath:Xxx.xml"}) |
@Param | 用于绑定参数,EL表达式 |
@PathVariable | 用于取url中的值 |
@SpringBootApplication继承@``SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan`,这是它的部分源码
Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan( excludeFilters = {@Filter( type = FilterType.CUSTOM, classes = {TypeExcludeFilter.class} ), @Filter( type = FilterType.CUSTOM, classes = {AutoConfigurationExcludeFilter.class} )} ) public @interface SpringBootApplication { }在yml中配置属性值:
person: name = 'strive_day' age = 21 money = 0.0pom.xml配置yml依赖处理器
<!-- 配置yml依赖处理器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>本文标签: 注解入门常用程序SpringBoot
版权声明:本文标题:【SpringBoot 01】SpringBoot入门介绍,搭建运行一个SpringBoot小程序,SpringBoot常用注解 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686808384a105536.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论