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. echarts_部分图表配置简介_横向柱状图

    横向柱状图主要配置x位置x轴类型y轴类型(轴的类型分两种 1.category(类别)2.value(值)),代码简单(里面有注释)效果如下: var myChart = echarts.init(d ...

  2. tomcat 日志 按天自动分割 设定时任务定时清除

    一.日志分割所需jar包 1.下载tomcat   apache-tomcat-7.0.79.tar.gz 地址:http://www.apache.org/dist/tomcat/tomcat-7/ ...

  3. Dubbo实战快速入门 (转)

    Dubbo是什么? Dubbo[]是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. 其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架抽象封 ...

  4. Shell排序

    public void shellSort(int[] array) { int increment = array.length; do { increment = increment / 2; / ...

  5. Web安全测试——威胁攻防

    SQL注入 部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患.用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL In ...

  6. ios UIButton改背景

    以下orangeButton.png与orangeButtonHighlight.png分别用于按钮平常状态和被点击时的状态: UIImage *buttonImage = [[UIImage ima ...

  7. 学问Chat UI(1)

    前言 由于项目需要,最近开始借鉴学习下开源的Android即时通信聊天UI框架,为此结合市面上加上本项目需求列了ChatUI要实现的基本功能与扩展功能. 融云聊天UI-Android SDK 2.8. ...

  8. mysql数据库密码更改

    先记下,随后继续更改! 方法1: 用SET PASSWORD命令 首先登录MySQL. mysql> set password for 用户名@localhost = password('新密码 ...

  9. ASP.NET MVC HtmlHelper用法大全

    HTML扩展类的所有方法都有2个参数: 以textbox为例子public static string TextBox( this HtmlHelper htmlHelper, string name ...

  10. Python 第四天

    高级特性 切片操作符 我们可以使用切片操作符获取 tuple 或者 list 中指定范围内的元素 list1 = [1,2,3,4,5,8,7,6,10] list2 = [1:3] #[2.3] l ...