springboot快速开发(简单web)
这是一个springboot基础配置文件介绍的demo。只涉及到 控制层与前端的简单交互,用于验证代码的畅通。
spring-boot pom.xml解释
<?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>
<!--springboot的父级依赖,提供了相关的Maven依赖,并省去相关依赖包的版本声明-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.xiaoeyu</groupId>
<artifactId>demo2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo2</name>
<description>Demo project for Spring Boot</description> <properties>
<java.version>1.8</java.version>
</properties>
<!--springboot使用的技术依赖-->
<dependencies>
<!--spring web需要的相关包:包括spring启动bean,aop,core等等-->
<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>
<!--用于连接数据库的一种,默认采用hibernate,我不会用,后面有mybatis的-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--添加数据库驱动依赖,在spring-boot-dependencies中指定-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<!--springboot的编辑插件-->
<build>
<plugins>
<!--将项目搭建成一个可以独立运行的jar包,有内嵌的Tomcat-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>
spring-boot配置文件解释:
在spring-boot中可以使用.properties与.yml两种格式的配置文件,前者的优先级更高
properties采用键值对的形式,yml采用 键:空格 值 的形式。yml的同一目录下会统一表示。properties的前缀每个都要写
以application.yml格式作为说明。从第一列开始 同一个目录下的会归结到同一列
#本文件是springboot的全局配置文件,入口类启动时会自动加载本文件,同样的名字properties格式优先级更高
server:
servlet:
# 设置根路径,访问的时候localhost:端口/abc/
context-path: /abc
spring:
mvc:
# 后台为时间的类型的参数,可以解析前台传送的yyyy-MM-dd类型的字符串,配置文件只能拦截一种
date-format: yyyy-MM-dd
# 后台返回时间类型的数据,把时间类型的数据转为yyyy-MM-dd类型的字符串
jackson:
date-format: yyyy-MM-dd
http:
encoding:
charset: utf-8
#spring.profiles.active:指定使用哪个环境配置文件。现在这个是主要的配置,如果没有就从用下面dev对应的配置文件(application-xxx.yml)
#本文件的配置为主配置,有些配置:端口号 在开发与实际应用是是不一样的8080,80需要分开设置。这个标签用于指定使用哪种环境参数进行(在指定的配置文件中配置合适的参数)
#文件名有要求,与本文件名前部分一致 application-xxx.yml xxx与active后的一样
profiles:
active: dev
开发环境下的配置文件。application-dex.yml
#定义为开发环境配置文件
server:
# 使用端口号
port: 8888
logging:
# 设置日志文件输出位置
file: e:logs/spring-boot.log
level:
# 设置指定位置的日志输出级别
org.apache: debuge
org.springframework.web: debuge
org.springframework.boot.web: debuge
#数据源配置,与数据进行连接时的信息
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/bcs?characterEncoding=UTF-8
username: root
password:
启动文件解释
用spring-boot创建的项目,会自动生成一个 项目名+Application的class文件,作为项目的入口类。
package com.xiaoeyu.demo2; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.PropertySource; /*
项目的入口类。类名为: 项目名+Application
在运行其中的main方法时,Spring Boot会自动扫描入口类所在的同级包及其子包中的Bean,所以声明Bean的类不应在入口类所在的包之外。
*/
@SpringBootApplication/*开启springboot的自动配置,在项目启动时自动加载*/
//项目启动时加载的配置文件,application.properties默认加载,别的需要手动指定
//custom.properties是自定义的额配置文件,需要在这里声明,才会被加载到项目中生效
@PropertySource("custom.properties")
public class Demo2Application {
public static void main(String[] args) {
//run方法,启动内置的Tomcat服务器
SpringApplication.run(Demo2Application.class, args);
} }
配置文件传值
通过配置文件给属性(单个属性)或者对象属性(多个属性)传值,自己写custom.properties给类中的属性传值
#在类中,可以通过@Value("${app.name}")获取到下面的值,并注入给所修饰的属性
app.name=123456
info.url=jdbc:mysql://localhost:3306
info.username=root
info.password=
info.driverClassName=com.mysql.jdbc.Driver
package com.xiaoeyu.demo2.controller; import com.xiaoeyu.demo2.pojo.Info;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; @Controller
public class HepplController {
@Value("${app.name}")//获取配置文件对应app.name的值,单个属性传值
private String appName; @Autowired//多个属相传值,根据Info对象的类上的注解进行匹配
private Info info; @RequestMapping("/hello")
@ResponseBody
public String hello() {
//检测传值
System.out.println(appName);
System.out.println(info.toString());
return "hello";
} }
Info实体类,没有特殊意义,仅仅作为传参验证
package com.xiaoeyu.demo2.pojo; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; /**
* 通过配置文件给属性赋值
*/
//与Controller,Service,Repository一样的功能,Component语义更广,三个都可以用这个代替。被修饰的类,在spring启动过程中会被实例化
@Component
//在入口类上,添加了启动时加载的配置文件,把该配置文件中以info开都与属性对应的键的值传递给本类中的属性
@ConfigurationProperties(prefix = "info")
public class Info {
private String url;
private String username;
private String password;
private String driverClassName;
//set,get,tostring方法省略
}
springboot快速开发(简单web)的更多相关文章
- springboot 快速开发的定制补充
增强 SpringBoot 快速开发工具 项目地址:https://gitee.com/sanri/web-ui 优点:这是一个 web 通用配置的组件,即插即用,可用于新项目或私活.是对 Sprin ...
- SpringBoot快速开发REST服务最佳实践
一.为什么选择SpringBoot Spring Boot是由Pivotal团队提供的全新框架,被很多业内资深人士认为是可能改变游戏规则的新项目.早期我们搭建一个SSH或者Spring Web应用,需 ...
- 【持久化框架】SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载
上篇博文我们介绍了mybatis的基本概念与原理,这篇博文我们通过Spring与Mybatis集成,开发一个简单用户增删改查的Web项目. 基本准备工作 1.安装JDK1.6以上版本,安装与配置 2. ...
- Django + mysql 快速搭建简单web投票系统
了解学习pyhton web的简单demo 1. 安装Django, 安装pyhton 自行百度 2. 执行命令创建project django-admin.py startproject mysi ...
- 转 如何使用JEE6快速开发简单的webservice
转自:http://www.iteye.com/topic/1135747,作者:红尘默岩 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作. 一.准备工作(以下为本实例使 ...
- spring-boot开发:使用内嵌容器进行快速开发及测试
一.简述一下spring-boot微框架 1.spring-boot微框架是什么? 大家都知道,在使用spring框架进行应用开发时需要很多*.xml的初始化配置文件,而springBoot就是用来简 ...
- 简明易懂,将细节隐藏,面向新手树立web开发概念——学完Java基础语法,超快速上手springboot+mybatiJavaWeb开发
简明易懂,将细节隐藏,面向新手树立web开发概念 --学完Java基础语法,超快速上手JavaWeb开发 Web本质(先忽视各种协议) Web应用可以理解为浏览器和服务器之间的交互. 我们可以看一个简 ...
- Spring-Boot快速搭建web项目详细总结
最近在学习Spring Boot 相关的技术,刚接触就有种相见恨晚的感觉,因为用spring boot进行项目的搭建是在太方便了,我们往往只需要很简单的几步,便可完成一个spring MVC项目的搭建 ...
- 使用springBoot进行快速开发
springBoot项目是spring的一个子项目,使用约定由于配置的思想省去了以往在开发过程中许多的配置工作(其实使用springBoot并不是零配置,只是使用了注解完全省去了XML文件的配置),达 ...
随机推荐
- Python 使用有道翻译
最近想将一些句子翻译成不同的语言,最开始想使用Python向有道发送请求包的方式进行翻译. 这种翻译方式可行,不过只能翻译默认语言,不能选定语言,于是我研究了一下如何构造请求参数,其中有两个参数最复杂 ...
- If嵌套
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- RabbitMQ跟Redis做消息队列的区别
区别 https://www.zhihu.com/question/20795043 https://blog.csdn.net/dd18709200301/article/details/79077 ...
- Oracle中国移动经典面试题(附代码跟两种答案)
/*中国移动sql面试题: create table test( id number(10) primary key, type number(10) , t_id number(10), ...
- zoj3223
其实这题不超时完全是因为串长度太小,如果串够长,一次匹配后都要往上跳,复杂度是n^2的. #include <iostream> #include <cstdio> #incl ...
- cowboy源码分析(二)
接 cowboy源码分析(一) 下面我们重点看看cowboy_protocol.erl代码 -module(cowboy_protocol). %% API. -export([start_link/ ...
- js前端性能优化之函数节流和函数防抖
前言:针对一些会频繁触发的事件如scroll.resize,如果正常绑定事件处理函数的话,有可能在很短的时间内多次连续触发事件,十分影响性能 节流: 节流:使得一定时间内只触发一次函数. 它和防抖动最 ...
- win10安装配置nodejs
下载node 官网下载node 接下来在命令提示符里(win+R)输入node -v和npm -v,如图所示,表示安装完成. 测试, 配置node 在nodejs文件目录下,新建文件夹node ...
- python web 2
思路整理 过程:请求豆瓣电影 top 250 url='https://movie.douban.com/' 结果:得到网页的html 源码 (保存为hml文件 就可以用浏览器打开) 提示: Loca ...
- CQRS粗浅理解
CQRS(命令查询责任分离)是一种奇特的模式,表示解耦系统的输入和输出. 通常情况下,输入端将数据写到数据库,输出端从数据库查询.与读写锁的场景类似,写的过程中不能读.正常情况下没有问题,但是在大规模 ...