Spring Boot


  Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域成为领导者

特点:


1. 创建独立的Spring应用程序

2. 嵌入的Tomcat,无需部署WAR文件

3. 简化Maven配置

4. 自动配置Spring

5. 提供生产就绪型功能,如指标,健康检查和外部配置

6. 绝对没有代码生成和对XML没有要求配置

Web项目的搭建


搭建环境及工具:IDEA工具+JDK环境+Maven环境

第一步:先new 一个project,选择Spring Initializr,在选择右边的SDK,也就是你的JDK版本,默认会从官网下载Spring Boot模板,直接next

第二步:这是项目中的一些细节东西,大致说说其中的意思

    1. Group:对应pom.xml文件中的groupId,项目组织的唯一标识,对应Java包的结构

    2. Artifact:对应pom.xml文件的artifactId,项目唯一标识,对应项目名称

    3. Type:我们是Maven构建的,那么选择第一个Maven Project

    4. Language:开发语言,选择Java

    5. Packaging:打包类型,打包成Jar文件

    6. Java Version:JDK版本,选择1.8

    7. Version:项目版本,对应pom文件的version

    8. Name:项目名称

    9. Description:项目描述,对应pom文件的description

    10. Package:包名

大概都了解了,根据自己的需求填写,测试的话就这样默认就可以,next

第三步:这里根据自己的需求,需要什么功能添加什么,我认为这里的已经非常的齐全了,选择web,勾选web,要是想要SQL的可以点击里面有MySQL,JDBC,Mybatis等一些数据库,选择想要的直接next

第四步:也是最重要的,没啥东西就直接finsh就好


完成之后的项目结构目录:我们可以将我选中的这几个无关的文件删除,都是Maven的一些文件,没啥作用

讲解一下其中一些文件的作用

最后在这个目录下创建一个HelloController.java的类

代码:

@RestController
public class HelloController {
@RequestMapping(value = "/")
public String hello(){
return "hello";
} }

之后运行项目吧,在你的浏览器上输入:localhost:8080就可以访问到了

这里我解释一下其中注解的意思:

注解(annotations)列表

      1. @ResponseBody 
        用该注解修饰的函数,会将结果直接填充到HTTP的响应体中,一般用于构建RESTful的api;
      2. @Controller 
        用于定义控制器类,在spring 项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层)。
      3. @RestController 
        @ResponseBody和@Controller的合集
      4. @RequestMapping 
        提供路由信息,负责URL到Controller中的具体函数的映射。
      5. @EnableAutoConfiguration 
        Spring Boot自动配置(auto-configuration):尝试根据你添加的jar依赖自动配置你的Spring应用。例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。你可以将@EnableAutoConfiguration或者@SpringBootApplication注解添加到一个@Configuration类上来选择自动配置。如果发现应用了你不想要的特定自动配置类,你可以使用@EnableAutoConfiguration注解的排除属性来禁用它们。例子代码如下:
      6. @ComponentScan 
        表示将该类自动发现(扫描)并注册为Bean,可以自动收集所有的Spring组件,包括@Configuration类。我们经常使用@ComponentScan注解搜索beans,并结合@Autowired注解导入。
      7. @Configuration 
        相当于传统的xml配置文件,如果有些第三方库需要用到xml文件,建议仍然通过@Configuration类作为项目的配置主类——可以使用@ImportResource注解加载xml配置文件。
      8. @SpringBootApplication 
        相当于@EnableAutoConfiguration、@ComponentScan和@Configuration的合集。
      9. @Import 
        用来导入其他配置类。
      10. @ImportResource 
        用来加载xml配置文件。
      11. @Autowired 
        自动导入依赖的bean
      12. @Service 
        一般用于修饰service层的组件
      13. @Repository 
        使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项。

【版本声明】本文为博主原创文章,转载请注明出处

Spring Boot-------项目搭建及注解的更多相关文章

  1. [读书笔记] 一、Spring boot项目搭建与配置文件

    读书笔记:[JavaEE开发的颠覆者 Spring Boot实战] 作者:汪云飞 从今天开始坚持读书,并记录下此读书笔记. 一,初接触 Spring boot 项目Hello world搭建 1.po ...

  2. Spring boot项目搭建及简单实例

    Spring boot项目搭建 Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point for ...

  3. Spring Boot项目搭建

    1.Spring Boot概述 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人 ...

  4. spring boot项目搭建中遇到的问题

    自己动手搭建一下spring boot的项目,中途遇到了几个问题,在这里记录一下! 一.关于数据库中的表设计的问题 1.设计表的时候一定要添加的两个字段created updated 创建时间与更新时 ...

  5. Spring Boot 项目中常见注解

    @Autowired 自动导入依赖的 Bean.byType方式.把配置好的 Bean拿来用,完成属性.方法的组装,它可以对类成员变量.方法及构造函数进行标注,完成自动装配的工作 import org ...

  6. spring boot 项目搭建时,各个依赖的作用

    项目搭建页面 https://start.spring.io/ 各个依赖的作用 List of dependencies for Spring Boot 2.1.5.RELEASE Core DevT ...

  7. spring boot项目mybatis配置注解+配置文件

    maven依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-ja ...

  8. [七月挑选]使用idea创建spring boot 项目

    title: 使用idea创建spring boot 项目 参考lindaZ的IntelliJ IDEA 创建spring boot 的Hello World 项目 1.Open IDEA,choos ...

  9. spring boot 项目连接数据库查询数据过程

    spring boot 项目搭建 pom.xml <?xml version="1.0" encoding="UTF-8"?> <projec ...

  10. 快速搭建Spring Boot项目

    Spring boot是Spring推出的一个轻量化web框架,主要解决了Spring对于小型项目饱受诟病的配置和开发速度问题. Spring Boot 包含的特性如下: 创建可以独立运行的 Spri ...

随机推荐

  1. 分享 android 源码

    Android精选源码 UI框架 QSkinLoader换肤框架 一款优雅的中国风Android笔记源码 ListView.RecyclerView两种方式实现聊天界面 android仿滴滴时间选择控 ...

  2. NOIP 2000 提高组 题解

    NOIP2000 提高组 题解 No 1. 进制转换 https://www.rqnoj.cn/problem/295 水题 对于n和基数r, 每次用n mod r, 把余数按照逆序排列 注意 mod ...

  3. ASP.NET Core - Razor 页面简介

    简介 随着ASP.NET Core 2 即将来临,最热门的新事物是Razor页面.在之前的一篇文章中,我们简要介绍了ASP.NET Core Razor 页面. Razor页面是ASP.NET Cor ...

  4. 初探IAT

    ---恢复内容开始--- IAT(Import Address Table:输入函数地址表) [IAT作用是什么:] 一个API函数,比如MessageBoxA,我们是如何调用它的呢, 在这里我们可以 ...

  5. 【机器学习笔记之三】CART 分类与回归树

    本文结构: CART算法有两步 回归树的生成 分类树的生成 剪枝 CART - Classification and Regression Trees 分类与回归树,是二叉树,可以用于分类,也可以用于 ...

  6. Jmeter==HTTP信息头管理器的作用

    HTTP信息头管理器在Jmeter的使用过程中起着很重要的作用,通常我们在通过Jmeter向服务器发送http请求(get或者post)的时候,往往后端需要一些验证信息,比如说web服务器需要带过去c ...

  7. IOS开发之UITabBarController与UINavigationController混合使用

    ios开发中UITabBarController与UINavigationController混合使用是很多app的基础页面结构,下面是简单的的页面初始化的方法,在AppDelegate.m的 - ( ...

  8. 【转】WEB网站常见受攻击方式及解决办法

    一个网站建立以后,如果不注意安全方面的问题,很容易被人攻击,下面就讨论一下几种漏洞情况和防止攻击的办法. 一.跨站脚本攻击(XSS) 跨站脚本攻击(XSS,Cross-site scripting)是 ...

  9. .Net Reactor 5脱壳教程

    今天别人发来一个.Net的DLL让我脱壳,第一步自然是先扔进de4dot 我这个de4dot 是集成了  Ivancito0z / TheProxy / PC-RET 4.9mod / wuhenso ...

  10. 单线程的JavaScript

    Javascript是单线程的 因为JS运行在浏览器中,是单线程的,每个window一个JS线程,既然是单线程的,在某个特定的时刻只有特定的代码能够被执行,并阻塞其它的代码.而浏览器是事件驱动的(Ev ...