Springboot
嫁狗狮
嫁狗狮
展开
-
pom.xml文件中两种父配置方法及注意事项
org.springframework.boot spring-boot-starter-parent 1.5.1.RELEASE 如果你不想使用某个依赖默认的版本,您还可以通过覆盖自己的项目中的属性来覆盖各个依赖项,例如,要升级到另一个Spring Data版本系列,您可以将以下内容添加到pom.xml中。详细依赖可查看:spring-boot原创 2017-04-28 14:25:36 · 2208 阅读 · 0 评论 -
@EnableAutoConfiguration
个人感觉@EnableAutoConfiguration这个Annotation最为重要,所以放在最后来解读,大家是否还记得Spring框架提供的各种名字为@Enable开头的Annotation定义?比如@EnableScheduling、@EnableCaching、@EnableMBeanExport等,@EnableAutoConfiguration的理念和做事方式其实一脉相承,简单概括一原创 2017-05-01 15:00:53 · 20802 阅读 · 1 评论 -
@ComponentScan
@ComponentScan这个注解在Spring中很重要,它对应XML配置中的元素,@ComponentScan的功能其实就是自动扫描并加载符合条件的组件(比如@Component和@Repository等)或者bean定义,最终将这些bean定义加载到IoC容器中。我们可以通过basePackages等属性来细粒度的定制@ComponentScan自动扫描的范围,如果不指定,则默认Sp原创 2017-05-01 14:34:36 · 1075 阅读 · 0 评论 -
@Configuration
这里的@Configuration对我们来说不陌生,它就是JavaConfig形式的Spring Ioc容器的配置类使用的那个@Configuration,SpringBoot社区推荐使用基于JavaConfig的配置形式,所以,这里的启动类标注了@Configuration之后,本身其实也是一个IoC容器的配置类。举几个简单例子回顾下,XML跟config配置方式的区别:表达形式层面原创 2017-05-01 14:32:02 · 1077 阅读 · 0 评论 -
SpringBootApplication背后的秘密
@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters = { @Filter(type = F原创 2017-05-01 14:30:39 · 472 阅读 · 0 评论 -
Profile-多环境配置
当应用程序需要部署到不同运行环境时,一些配置细节通常会有所不同,最简单的比如日志,生产日志会将日志级别设置为WARN或更高级别,并将日志写入日志文件,而开发的时候需要日志级别为DEBUG,日志输出到控制台即可。如果按照以前的做法,就是每次发布的时候替换掉配置文件,这样太麻烦了,Spring Boot的Profile就给我们提供了解决方案,命令带上参数就搞定。这里我们来模拟一下,只是简单原创 2017-05-01 14:15:29 · 255 阅读 · 0 评论 -
配置文件的优先级
application.properties和application.yml文件可以放在一下四个位置:外置,在相对于应用程序运行目录的/congfig子目录里。外置,在应用程序运行的目录里内置,在config包内内置,在Classpath根目录同样,这个列表按照优先级排序,也就是说,src/main/resources/config下application.properti原创 2017-05-01 14:06:27 · 395 阅读 · 0 评论 -
外部配置-命令行参数配置
Spring Boot是基于jar包运行的,打成jar包的程序可以直接通过下面命令运行:java -jar xx.jar可以以下命令修改tomcat端口号:java -jar xx.jar --server.port=9090可以看出,命令行中连续的两个减号--就是对application.properties中的属性值进行赋值的标识。所以java -jar xx.ja原创 2017-05-01 14:04:07 · 393 阅读 · 0 评论 -
随机值配置
配置文件中${random} 可以用来生成各种不同类型的随机值,从而简化了代码生成的麻烦,例如 生成 int 值、long 值或者 string 字符串。aa.secret=${random.value}aa.number=${random.int}aa.bignumber=${random.long}aa.uuid=${random.uuid}aa.number.less原创 2017-05-01 14:01:09 · 344 阅读 · 0 评论 -
使用自定义配置文件
有时候我们不希望把所有配置都放在application.properties里面,这时候我们可以另外定义一个,这里我明取名为test.properties,路径跟也放在src/main/resources下面。com.aa.name="aa~"com.aa.want="祝大家鸡年,大吉吧"我们新建一个bean类,如下:@Configuration@ConfigurationPr原创 2017-05-01 13:59:31 · 339 阅读 · 0 评论 -
参数间引用
在application.properties中的各个参数之间也可以直接引用来使用,就像下面的设置:com.aa.name="aa"com.aa.want="祝大家鸡年大吉吧"com.aa.yearhope=${com.aa.name}在此${com.aa.want}这样我们就可以只是用yearhope这个属性就好原创 2017-05-01 13:56:32 · 171 阅读 · 0 评论 -
自定义属性
application.properties提供自定义属性的支持,这样我们就可以把一些常量配置在这里:com.aa.name="aa"com.aa.want="祝大家鸡年大吉吧"然后直接在要使用的地方通过注解@Value(value=”${config.name}”)就可以绑定到你想要的属性上面@RestControllerpublic class UserControll原创 2017-05-01 13:52:14 · 191 阅读 · 0 评论 -
RELEASE与SNAPSHOT的区别
1. Snapshot版本代表不稳定、尚处于开发中的版本2. Release版本则代表稳定的版本3. 什么情况下该用SNAPSHOT? 协同开发时,如果A依赖构件B,由于B会更新,B应该使用SNAPSHOT来标识自己。这种做法的必要性可以反证如下: a.如果B不用SNAPSHOT,而是每次更新后都使用一个稳定的版本,那版本号就会升得太快,每天一升甚至原创 2017-04-28 17:06:23 · 1140 阅读 · 0 评论 -
springboot测试类写法
1、依赖org.springframework.bootspring-boot-starter-testtest2、代码package com.example.SpringBootJdbcTest; import java.util.List; import org.junit.Test; import org.juni原创 2017-05-22 11:38:52 · 683 阅读 · 0 评论