Springboot(一)springboot简介与入门程序
2024-08-30 02:17:05
一、springboot简介:
对spring框架盛行了多年的java方向开发人员来说,每个人java开发已经把spring框架当做开发中不可或缺的一部分。
之前传统的模式都是以applicationContext.xml配置文件的形式存在,而对应大多数入门级开发人员来说配置出现一点纰漏就会导致运行失败或者更大的问题,因此会浪费开发人员很多宝贵的时间,对公司来说也是有所损失。那么spring开源组织很早之前就意识到这种问题的存在,于是他们便对spring框架的全系列组件进行了内部封装。对外只是提供maven(jar管理、项目打包工具)或者gradle(新兴jar管理、项目打包工具)的形式来进行引入parent.pom(maven配置文件)或者parent.gradle(gradle配置文件),让每一个spring项目都是以spring的子项目的形式来运行,这样开发人员不用再去注重配置文件的繁琐而是把精力放到业务逻辑以及更深层次的架构方面。自此SpringBoot就诞生了,它有着纯正的开源血统,在此非常感谢spring开源组织给我们java开发人员带来的便利!
二、springboot的特点:
1. 能够快速创建基于Spring的应用程序。(简化配置)
2. 开箱即用,提供各种默认配置来简化项目配置
3 .能够直接使用java的main方法启动内嵌的Tomcat,Jetty服务器运行Spring boot程序,不需要部署war包文件。
4. 基本可以完全不使用xml配置文件,采用注解配置。(或者默认约定的配置,代码中已经实现)
5. 提供一系列大型企业级项目的功能性特性(比如:安全、健康检测、外部化配置、数据库访问、restful搭建……等很多特性)
2. 开箱即用,提供各种默认配置来简化项目配置
3 .能够直接使用java的main方法启动内嵌的Tomcat,Jetty服务器运行Spring boot程序,不需要部署war包文件。
4. 基本可以完全不使用xml配置文件,采用注解配置。(或者默认约定的配置,代码中已经实现)
5. 提供一系列大型企业级项目的功能性特性(比如:安全、健康检测、外部化配置、数据库访问、restful搭建……等很多特性)
注:谈谈微服务
因为微服务需要很多单体服务,我们可以用springboot快速构建。
三、创建springboot工程(保证计算机上的Java的JDK在1.8以上)
(1)、访问start.spring.io网址创建
(2)、利用IDE创建,本文用的是IDEA
1、创建时候进行选择的项
2、目录详解:
1)/src/main/java/ 存放项目所有源代码目录
2)/src//main/resources/ 存放项目所有资源文件以及配置文件目录
3)/src/test/ 存放测试代码目录
3、自动生成的文件详解:
LessonOneApplication: 该类是程序的入口类内有个main方法,可以直接通过run as运行项目
该类中的注解详解:
@SpringBootApplication: Spring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;
进入该注解(如果要了解更深,可以进入多层注解):
@SpringBootConfiguration:Spring Boot的配置类;
标注在某个类上,表示这是一个Spring Boot的配置类;
@Configuration:配置类上来标注这个注解;
配置类 —– 配置文件;配置类也是容器中的一个组件;@Component
@EnableAutoConfiguration:开启自动配置功能;
以前我们需要配置的东西,Spring Boot帮我们自动配置;@EnableAutoConfiguration告诉SpringBoot开启自动配置功能;这样自动配置才能生效;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
application.properties(application.yml): 该配置文件是项目的核心配置文件,以xx.xx.xx的形式存在(全局配置文件,文件名是固定的)
pom.xml: maven配置文件,因为我们采用的maven管理jar,所以这里会自动生成一个pom文件
详细讲解博客:https://blog.csdn.net/l00149133/article/details/78923873
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/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.1.2.RELEASE</version>
<relativePath/>
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</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>
4、controller请求层,以及运行结果
@RestController
public class HelloController {
@RequestMapping(value = "/index",method = RequestMethod.GET)
public String index(){
return "HelloWorld";
}
}
四、打成jar包,运行访问
1、导入插件
<!--这个插件可以将应用打包成一个可执行的jar包-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> 2、运行
3、打包之后,jar包在target文件夹中
4、运行
5、测试
最新文章
- iOS-Xcode上传后iTunes Connect构建版本不显示
- PHP面向对象之旅:抽象类继承抽象类(转)
- openwrt上wifi探针的实现
- mac os 上安装mysqldb血泪史
- InnoDB的Named File Formats
- module_param()函数
- Asp.net Authorization 学习
- win10应用 UWP 使用MD5算法
- 采用集成的Windows验证和使用Sql Server身份验证进行数据库的登录
- storm如何部署拓扑
- ArcGIS 要素类平移工具-arcgis案例实习教程
- 学习mongoDB的一些感受(转自:http://blog.csdn.net/liusong0605/article/details/11581019)
- 通过动态SQL语句创建游标
- fdisk vs df
- PAT 1025 反转链表 (25)(STL-map+思路+测试点分析)
- AJAX删除事件与加载数据
- IBM WebSphere MQ介绍安装以及配置服务详解(转)
- Get与Post提交方式的区别
- == 和 equals 的区别是什么?
- Cognos业务洞察力:My First Business Insight
热门文章
- Win8.1安装配置64位Oracle Database 11g的详细图文步骤记录
- 关于JavaScript函数
- ceph bluestore与 filestore 数据存放的区别
- 如何在 asp.net core 3.x 的 startup.cs 文件中获取注入的服务
- JQuery 优缺点略谈
- python字符串与文本操作(一)
- 讲讲 Promise
- Python3笔记022 - 5.1 字符串常用操作
- POI2014 FAR-FarmCraft
- 【线型DP】【LCS】洛谷P4303 [AHOI2006]基因匹配