文档章节

SpringBoot笔记1-使用idea创建SpringBoot的hello world

HGMrWang
 HGMrWang
发布于 2017/06/05 11:24
字数 875
阅读 46
收藏 2
点赞 0
评论 0
  • 1、创建基本项目

1、新建项目选择 Spring Initializr ,右边的配置可以选择jdk的版本,其他选项不变

  

2、设置项目的基本信息

3、选择web模块

此处可以看到spring boot 的版本为:1.5.3

4、设置项目名称

5、修改maven仓库地址为阿里云提供的仓库。

	<!--设置maven 仓库为阿里云提供的maven仓库 国外的maven仓库慢-->
	<repositories>
		<repository>
			<id>nexus-aliyun</id>
			<name>Nexus aliyun</name>
			<url>http://maven.aliyun.com/nexus/content/groups/public</url>
		</repository>
	</repositories>

6、启动项目

spring boot 内置的tomcat默认端口是8080;

在浏览器访问:http://localhost:8080

7、创建一个控制器 

@RestController
public class HelloApiController {

    @GetMapping(value = "hello")
    public String hello(){
        return "hello spring boot";
    }
}

在浏览器输入:http://localhost:8080/hello

返回:hello spring boot

8、打包启动

使用idea的maven工具来打包项目为jar

进入 jar所在的目录执行:java -jar helloword-0.0.1-SNAPSHOT.jar

在浏览器输入:http://localhost:8080/hello

一切都是正常的。

第一个spring boot 项目已经创建完成啦……

2、配置文件

1、修改tomcat默认端口

在resource目录下新建一个application.yml文件,同时删除application.properties文件

 

2、yml文件和Java bean自动绑定

1、application.yml

server:
  port: 8888

student:
  name: 张三
  age: 12
  address: 张家沟

这里注意文件编码统一为utf-8

2、现金Student 类

@Component//加入到spring 容器中
@ConfigurationProperties(prefix = "student")
public class Student {

    private String name;

    private Integer age;

    private String address;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", address='" + address + '\'' +
                '}';
    }
}

如果属性名称时驼峰命名的话,在配置文件中使用中划线连接单词。

3、在控制器中使用:

@RestController
public class HelloApiController {

    Logger logger= LoggerFactory.getLogger(HelloApiController.class);

    @Autowired
    private Student student;

    @GetMapping(value = "hello")
    public String hello(){
        logger.info("你好1");
        return "hello spring boot" +student.toString();
    }
}

4、访问接口:

3、application.yml开发环境和生成环境

1、新建application-dev.yml

server:
  port: 8081
student:
  name: 张三-开发环境
  age: 12
  address: 张家沟

这里将开发环境的端口设置成了 8081

2、新建application-prod.yml

server:
  port: 8082

student:
  name: 张三-生产环境
  age: 12
  address: 张家沟

这里将生产环境的端口设置成了 8082

3、修改application.yml文件

设置为开发环境:

spring:
  profiles:
    active: dev

启动项目 http://localhost:8081/hello

设置为生产环境:

spring:
  profiles:
    active: prod

启动项目 http://localhost:8082/hello

 上面配置分别配置了生产环境和测试环境的yml文件,然后在application.yml文件中通过配置

spring:
  profiles:
    active: prod

4、jar部署

来启动项目,如果要同时启动生产环境和测试环境,则可以通过jar方式来启动:

进入 jar所在的目录执行:

启动生产环境:java -jar helloword-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

启动测试环境:java -jar helloword-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

只要端口不同就可以。

设置为后台部署:

   java -jar helloword-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod &

   nohup java -jar yourapp.jar &

[root@localhost spring]# java -jar eureka-client-0.0.1-SNAPSHOT.jar &
[1] 2384
[root@localhost spring]# nohup java -jar eureka-client-0.0.1-SNAPSHOT.jar &
[1] 2366
[root@localhost spring]# nohup: 忽略输入并把输出追加到"nohup.out"

使用 tail -f nohup.out可以查看控制台日志

启动成功后会返回当前的进程id 

查看当前java应用有哪些在运行中:

[root@localhost spring]# ps -ef |grep java
root       2384   2288  9 09:40 pts/0    00:00:19 java -jar eureka-client-0.0.1-SNAPSHOT.jar
root       2422   2288  0 09:43 pts/0    00:00:00 grep --color=auto java

停止进程:kill -9 进程id

 

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

HGMrWang
粉丝 5
博文 83
码字总数 38716
作品 0
深圳
程序员
第一个SpringBoot示例

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这...

zq木偶人
昨天
0
0
SpringBoot基础教程1.1.1 项目搭建

概述 为微服务而生,大大简化搭建工程的时间;个人理解,是一些框架的集合, 整合各个框架,降低使用门槛。 1.1. 特色 介绍项目的同时,推荐相关快捷键,熟能生巧,无需死记硬背。 2. 本节重...

Mkeeper
07/02
0
0
Spring Boot HelloWorld 解析

开发环境 开发工具:IDEA 2017.2.2 链接: https://pan.baidu.com/s/1qxZLZtBR-Xr7JVkgmhZWzw 密码: wsqp 激活教程:http://idea.lanyus.com/ Spring Boot:2.0.3.RELEASE 参考文档:https://d......

爱编程的帅小伙
07/02
0
0
为springboot项目添加springboot-admin监控

我们知道spring-boot-actuator暴露了大量统计和监控信息的端点,spring-boot-admin 就是为此提供的监控项目。 先来看看大概会提供什么样的功能 从图中可以看出,主要内容都是由spring boot a...

ryan-miao
06/12
0
0
第一章:Maven环境下如何配置QueryDSL环境

QueryDSL是一个通用的查询框架,框架的核心原则是创建安全类型的查询,开始QueryDSL仅支持Hibernate(HQL),在不断开源人士加入QueryDSL团队后,陆续发布了针对JPA,JDO,JDBC,Lucene,Hib...

恒宇少年
2017/07/01
0
0
Spring boot Mybatis 整合(完整版)

个人开源项目 springboot+mybatis+thymeleaf+docker构建的个人站点开源项目(集成了个人主页、个人作品、个人博客) 朋友自制的springboot接口文档组件swagger2 更多干货 SpringBoot系列目录...

舒运
07/09
0
0
从SpringBoot源码分析 配置文件的加载原理和优先级

本文从SpringBoot源码分析 配置文件的加载原理和配置文件的优先级 跟入源码之前,先提一个问题: SpringBoot 既可以加载指定目录下的配置文件获取配置项,也可以通过启动参数(VM Options)传...

tanliwei
07/13
0
0
(一)SpringBoot——helloworld

一、为什么会诞生SpringBoot? 先看看spring的优势: 1、代码解耦、简化开发:代码中不再需要new去构造对象,而是交由spring去管理对象。 2、支持AOP:面向切面的编程,方便进行权限拦截、日...

solidwang
04/17
0
0
springboot的后台系统的初步搭建

springboot的后台系统的初步搭建 基于springboot的设备管理系统的架构搭建 使用工具:idea 数据库:mysql 相关技术:shiro mybatis activemq等 (1) 新建项目 new project ,idea有专门的sprin...

代金券优惠
04/15
0
0
SpringBoot基础教程1-1-2 配置文件介绍

概述 极大的简化了配置,常用配置都可以或者文件中设置。 1.1. 特色 介绍项目的同时,推荐相关快捷键,熟能生巧,无需死记硬背。 2. 本节重点 常用配置介绍 多环境如何配置 自定义配置文件 ...

Mkeeper
07/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Call to undefined function Workerman\posix_getpid

workerman 在centos下报PHP Fatal error: Call to undefined function Workerman\posix_getpid posix在下面这个包中php-process...

dragon_tech
3分钟前
0
0
mysql 7.4 创建表 时  所建表 字段太多 导致失败

报错:[Err] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline. 解决方法:把表的引......

qimh
6分钟前
0
0
语法补漏

1.if...elif...else... 代码示例: test=10 if test>9: print(1) elif test>8: print(2) elif test>7: print(3) else: print('nothing') 输出代码: 1...

十年磨一剑3344
6分钟前
0
0
Python -re模块及正则表达式解析

传送门: https://blog.csdn.net/pipisorry/article/details/25909899 ps:上面文章中"命名分组"的语法格式不能执行。正确的如下: (?P<name>正则表达式) #name是一个合法的标识符 除了使用别名...

一口今心
13分钟前
0
0
mybatis中session.getMapper方法源码分析

0开始代码AuthorMapper mapper = session.getMapper(AuthorMapper.class); 1 DefaultSqlSession类 @Override public <T> T getMapper(Class<T> type) { //最后会去调用MapperRegistry.getMap......

writeademo
22分钟前
1
0
spring cloud zuul网关的作用

zuul一般有两大作用,1是类似于Nginx的网址重定向,但zuul的重定向的一般是整个spring cloud里在Eureka注册中心的模块. zuul: ignored-services: '*' sensitiveHeaders: routes: ...

算法之名
22分钟前
9
0
java按比例之原图生成缩略图

package com.wxp.test; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import javax.imageio.ImageIO; import sun.......

恋码之子
32分钟前
1
0
SpringCloud 微服务 (十五) 服务容错 Hystrix

壹 工作中的微服务架构,某个服务通常会被多个服务调用或者多层调用完成需求,如果某个服务不可用,导致一个系统功能不可用或者服务直接没用了的情况,这种情况称为雪崩效应 有A服务调用B服务,B服...

___大侠
34分钟前
1
0
Spring框架中的设计模式(五)

Spring框架中的设计模式(五) 通过以前的4篇文章,我们看到Spring采用了大量的关于创建和结构方面的设计模式。本文将描述属于行为方面的两种设计模式:命令和访问者。 前传: Spring框架中的...

瑞查德-Jack
37分钟前
1
0
解决phpstorm运行很卡问题!

phpStorm一旦达到这个临界值,所有智能提示、自动补全都失效了 这TM就很尴尬了,顿时感觉自己就是个废人了,纯手写代码跟便秘一样 众所周知phpStorm基于JAVA,那么这个内存限制肯定跟JAVA的虚...

sjcehui2010
39分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部