Spring Boot 项目搭建教程及注解

 更新时间:2017年09月13日 08:55:15   投稿:jingxian  
下面小编就为大家带来一篇Spring Boot 项目搭建教程及注解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

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

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

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

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

Language:开发语言,选择Java

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

Java Version:JDK版本,选择1.8

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

Name:项目名称

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

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)列表

@ResponseBody

用该注解修饰的函数,会将结果直接填充到HTTP的响应体中,一般用于构建RESTful的api;

@Controller

用于定义控制器类,在spring 项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层)。

@RestController

@ResponseBody和@Controller的合集

@RequestMapping

提供路由信息,负责URL到Controller中的具体函数的映射。

@EnableAutoConfiguration

Spring Boot自动配置(auto-configuration):尝试根据你添加的jar依赖自动配置你的Spring应用。例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。你可以将@EnableAutoConfiguration或者@SpringBootApplication注解添加到一个@Configuration类上来选择自动配置。如果发现应用了你不想要的特定自动配置类,你可以使用@EnableAutoConfiguration注解的排除属性来禁用它们。例子代码如下:

@ComponentScan

表示将该类自动发现(扫描)并注册为Bean,可以自动收集所有的Spring组件,包括@Configuration类。我们经常使用@ComponentScan注解搜索beans,并结合@Autowired注解导入。

@Configuration

相当于传统的xml配置文件,如果有些第三方库需要用到xml文件,建议仍然通过@Configuration类作为项目的配置主类——可以使用@ImportResource注解加载xml配置文件。

@SpringBootApplication

相当于@EnableAutoConfiguration、@ComponentScan和@Configuration的合集。

@Import

用来导入其他配置类。

@ImportResource

用来加载xml配置文件。

@Autowired

自动导入依赖的bean

@Service

一般用于修饰service层的组件

@Repository

使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项。

以上这篇Spring Boot 项目搭建教程及注解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java中关于Map四种取值方式

    Java中关于Map四种取值方式

    这篇文章主要介绍了Java中关于Map四种取值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Java 正确地从类路径中获取资源

    Java 正确地从类路径中获取资源

    Java 有能力从类路径中查找获取资源,可将资源放在 CLASSPATH 里,也可打包到 Jar 中。本文将具体讲述获取资源的步骤,感兴趣的朋友可以了解下
    2021-05-05
  • SpringBoot项目接入Nacos的实现步骤

    SpringBoot项目接入Nacos的实现步骤

    SpringBoot项目使用nacos作为配置中心和服务注册中心,同时兼容dubbo的注册中心。 本Demo项目使用的SpringBoot版本是2.3.9.RELEASE
    2021-05-05
  • BeanUtils.copyProperties()拷贝id属性失败的原因及解决

    BeanUtils.copyProperties()拷贝id属性失败的原因及解决

    这篇文章主要介绍了BeanUtils.copyProperties()拷贝id属性失败的原因及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 关于SpringBoot的热部署方案

    关于SpringBoot的热部署方案

    这篇文章主要介绍了关于SpringBoot的热部署方案,每次修改代码就得将项目重启,重新部署,对于一些大型应用来说,重启时间需要花费大量的时间成本,本文就来详解热部署方案,需要的朋友可以参考下
    2023-05-05
  • Spring Cloud中Eureka开启密码认证的实例

    Spring Cloud中Eureka开启密码认证的实例

    这篇文章主要介绍了Spring Cloud中Eureka开启密码认证的实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 通过pipeline配置sonar自动化实现过程解析

    通过pipeline配置sonar自动化实现过程解析

    这篇文章主要介绍了通过pipeline配置sonar自动化实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • SpringMVC如何用Post方式重定向

    SpringMVC如何用Post方式重定向

    这篇文章主要介绍了SpringMVC如何用Post方式重定向,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Java中new Date().getTime()指定时区的时间戳问题小结

    Java中new Date().getTime()指定时区的时间戳问题小结

    本文主要介绍了Java中new Date().getTime()时间戳问题小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 浅谈一下Java线程组ThreadGroup

    浅谈一下Java线程组ThreadGroup

    ThreadGroup是为了方便线程管理出现了,可以统一设定线程组的一些属性,比如setDaemon,设置未处理异常的处理方法,设置统一的安全策略等等,需要的朋友可以参考下
    2023-05-05

最新评论