spring-boot快速搭建解析
创建方式:
1、在File菜单里面选择 New > Project,然后选择Spring Initializr;
2、使用maven直接构建,添加依赖。
|
1
2
3
4
|
pom.xml:Maven构建说明文件。Chapter1Application.java:一个带有main()方法的类,用于启动应用程序(关键)。Chapter1ApplicationTests.java:一个空的Junit测试类,它加载了一个使用Spring Boot字典配置功能的Spring应用程序上下文。application.properties:一个空的properties文件,你可以根据需要添加配置属性。 |
一个 Spring Boot 案例应该包括四个部分(主加载类、逻辑实现类、单元测试类、以及资源配置文件)。
优势:
1、json接口的开发不用导包,直接@RestController ;
2、@Configuration进入过滤,自定义Filter,OrderedCharacterEncodingFilter和HiddenHttpMethodFilter,并且我们可以自定义Filter;
3、自定义Property,代码中通过EL表达式即可获取;
4、log配置,配置输出的地址和输出级别;
|
1
2
3
4
|
logging.path=/user/local/log --path为本机的log地址,logging.level.com.favorites=DEBUG --包路径配置不同资源的log级别logging.level.org.springframework.web=INFOlogging.level.org.hibernate=ERROR |
5、数据库操作:
a,添加jar包;
b,添加配置文件;
c,添加实体类和Dao(UserRepository);
6、Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎。类似JSP,Velocity,FreeMaker等
Thymeleaf最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个Web应用。
Thymeleaf从根本上颠覆了必须在服务器中渲染完成再在浏览器显示,通过属性进行模板渲染不会引入任何新的浏览器不能识别的标签,例如JSP
spring-boot-starter: 场景启动器。需要什么后面跟什么,web、email,自动导入jar包。
@SpringBootApplication主配置类,组合注解。main函数首先运行它。
@AutoConfigurationPackage将主配置类所在包的类全部扫描进来。
@Import({AutoConfigurationImportSelector.class})将所有需要导入的组件以全类名的方式导入,给容器导入很多自动配置类。
j2ee整体解决方案和自动配置都在/org/springframework/boot/spring-boot-autoconfigure/2.0.2.RELEASE/spring-boot-autoconfigure-2.0.2.RELEASE.jar!/META-INF/spring-autoconfigure-metadata.properties
application.propertier server.port=8081
application.yml 以数据为中心,不使用标签。键值对,左对齐。空格控制缩进。
普通的值:字符串默认不用加单引号或双引号,
双引号:不会转义字符串里面的特殊字符,本身的意思。\n换行;
单引号:会转义特殊字符,\n.
对象时,在下一行,空格写属性和值得关系。注意缩进,冒号,空格。
数组时,-空格值得写法。行内写法pets: [cat,dog,pig]。
map时,行内写法。maps: {k1: v1,k2: 12}
@Value获取值和@ConfigurationProperties获取值比较
配置文件yml还是properties他们都能获取到值;
如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value;
如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;
@PropertySource(value = {"classpath:person.properties"})
@ImportResource:导入Spring的配置文件,让配置文件里面的内容生效;
@ImportResource(locations = {"classpath:beans.xml"})
导入Spring的配置文件让其生效
SpringBoot推荐给容器中添加组件的方式;推荐使用全注解的方式
1、配置类@Configuration------>Spring配置文件
2、使用@Bean给容器中添加组件
|
1
2
3
4
5
6
7
8
9
|
@Configurationpublic class MyAppConfig {//将方法的返回值添加到容器中;容器中这个组件默认的id就是方法名@Beanpublic HelloService helloService02(){System.out.println("配置类@Bean给容器中添加组件了...");return new HelloService();}} |
配置文件占位符:
|
1
2
3
4
5
6
7
8
|
person.last‐name=张三${random.uuid}person.age=${random.int}person.birth=2017/12/15person.boss=falseperson.maps.k1=v1person.maps.k2=14person.lists=a,b,cperson.dog.name=$ |
配置文件加载过程:
springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文
件(高优先级,互补配置。通过命令行修改内部配置。)
–file:./config/
–file:./
–classpath:/config/
–classpath:/
我们可以通过启用 debug=true属性;来让控制台打印自动配置报告,这样我们就可以很方便的知道哪些自动配置
类生效;
@GetMapping("{id}")//restful的url
@GetMapping(params = "form")//url?form
public ModelAndView view(@PathVariable("id") Message message) {
return new ModelAndView("messages/view", "message", message);//寻找message目录下的view.html文件。
}
spring-boot快速搭建解析的更多相关文章
- 寻找写代码感觉(一)之使用 Spring Boot 快速搭建项目
写在前面 现在已经是八月份了,我已经荒废了半年居多,不得不说谈恋爱确实是个麻烦的事,谈好了皆大欢喜,分手了就是萎靡不振,需要很长一段时间才能缓过来. 人还是要有梦想的,至于实现只不过是一个契机,但凡不 ...
- Spring Boot 快速搭建的三种方式
方式一:http://start.spring.io/ 打开浏览器,在地址栏中输入http://start.spring.io/ 如下图: 点击generate project 然后就会有一个zip ...
- Spring Boot快速搭建Web工程
先想一下,正常我们想要创建一个web服务,首先需要下载tomcat,创建web工程,配置各种web.xml,引入spring的配置,各种配置文件一顿倒腾.....下载有了spring boot,你创建 ...
- Spring Boot快速搭建Spring框架
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development a ...
- Spring Boot 快速入门(IDEA)
从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架:SpringBoot帮助开发者快速启动一个Web容器:SpringBoot继承了原有Spring框架的优秀 ...
- Spring Boot 快速入门 史上最简单
1.Spring Boot 概述 Spring Boot 是所有基于 Spring 开发的项目的起点.Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的 ...
- Spring boot项目搭建及简单实例
Spring boot项目搭建 Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point for ...
- 笔记61 Spring Boot快速入门(一)
IDEA+Spring Boot快速搭建 一.IDEA创建项目 略 项目创建成功后在resources包下,属性文件application.properties中,把数据库连接属性加上,同时可以设置服 ...
- 使用 Spring Boot 快速构建 Spring 框架应用--转
原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/ Spring 框架对于很多 Java 开发人员来说都不陌生.自从 2 ...
- Spring Boot 快速入门
Spring Boot 快速入门 http://blog.csdn.net/xiaoyu411502/article/details/47864969 今天给大家介绍一下Spring Boot MVC ...
随机推荐
- 洛谷P1771 方程的解_NOI导刊2010提高(01)
题目描述 佳佳碰到了一个难题,请你来帮忙解决. 对于不定方程a1+a2+…+ak-1+ak=g(x),其中k≥2且k∈N,x是正整数,g(x)=x^x mod 1000(即x^x除以1000的余数), ...
- Java SSH框架系列:用户登录模块的设计与实现思路
1.简介用户登录模块,指的是根据用户输入的用户名和密码,对用户的身份进行验证等.如果用户没有登录,用户就无法访问其他的一些jsp页面,甚至是action都不能访问.二.简单设计及实现本程序是基于Jav ...
- POJ 3615 Cow Hurdles
http://poj.org/problem?id=3615 floyd 最短路径的变形 dist[i][j]变化为 : i j之间的最大边 那么输入的时候可以直接把dist[i][j] 当作i j ...
- 汕头市赛srm10 T2
n个数,分组,数Ai要在至少含有Ai个数的组,求最多分多少组. 方法一:大的数应该尽量跟大的在一起,这样才能让小的出现很多很多组,所以从大到小排序,给当前序列中最大的数x分x个数.代码如下: #inc ...
- 指针,数组,字符串的区别(高质量程序设计指南C++/C语言第7章)
指针: 指针是变量,和平时的那些变量没有本质的差异,不同的只是它的值和类型,.,即解释方式 二进制层面:指针的值是内存单元的地址,而变量是引用内存单元值的别名 语言层面:指针的值就是变量的地址. 对象 ...
- php的错误控制运算符
php的错误控制运算符 PHP中提供了一个错误控制运算符“@”. 可以将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉: 如果开启了php.ini 中的 track_error ...
- Codeforces 618C(计算几何)
C. Constellation time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- 【小记事】解除端口占用(Windows)
开发中有时会因为端口占用而导致起项目时报错(如下图),这时候只要解除端口占用即可. 解除端口占用: 1.打开cmd(win+r),查看端口占用情况 netstat -ano | findstr 端口号 ...
- Java和C++里面的重写/隐藏/覆盖
首先,无关重载. 注:重载是同一个类的各个函数之间的.重写是父类子类之间的.Overload和Overwrite(也叫Override)的区别. 注意:Java里面区分重写(Override/Over ...
- 有多个git项目要用多个秘钥
在~/.ssh文件夹下新建文件config,格式例如以下 Host "authmanage" HostName "code.csdn.net" User &qu ...