Spring Boot+Maven+IDEA自学笔记(一)

正在自学尚硅谷雷丰阳的springboot视频,参考这位同学得笔记https://blog.csdn.net/qq_31279347/article/details/82795706?utm_source=copy,整理如下(持续更新中):

一、关于环境的说明:

   1.首先需要注意的是maven设置,这个很重要。 

2.其次是需要注意环境的统一


二、pom.xml相关依赖
1.最基本的依赖:
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>



1.关于bean的写法:

(1)使用注解,记得一定要有@Component容器声明

(2)每个成员变量的值可以通过系统配置文件中读取(必须使用@ConfigurationProperties(prefix = "bean的名字")),配置文件分为两种,一种后缀是.properties,一种后缀是.yml。都放在main>resources路径下。两种书写格式不太一样,例子如下:

yml例子:

properties例子:

 

这里配置文件还可以使用占位符表示值。比如:使用spring已经预定义的随机数变量或配置文件中之前定义过的变量值,使用${占位符名字}这种方式:

随机数: 

${random.value}、${random.int}、${random.long} ${random.int(10)}、${random.int[1024,65536]} 

看例子:

可以使用占位符获取之前配置的值,比如${person.last-name}等,如果没有可以用“冒号+指定默认值”

(3)另外一种成员变量获取值的表达式还可以是通过@Value注解,这种方式等同于XML配置中的<property/>标签,跟之前spring传统架构中xml中声明bean的写法效果是一样的。因此value表达式写法也类似,有三种:

  •     ${key}从环境变量或配置文件中获取
  •     #{SpEL}从springEL表达式获取,SpEL为了更方便获取Spring容器中的Bean的值
  •     直接写字面值

看下面的例子便清楚了:lastName值是从配置文件中读取的,age值是采用的springEL算数表达式,而boss值直接赋true布尔值

以下是关于两种bean获取值的方式的比较:这里所谓的松散绑定是说成员变量名在configurationProperties里更宽松,看一下这里的匹配规则,是不是很宽松

所谓JSP303数据校验,configurationProperties是支持的,也就是说在configuration注解下的属性值设置时是可以进行数据校验的,需要将bean注解为@Validated ,并且需要校验的成员变量声明语句上加具体要按照什么规则校验,例如邮箱是@Email

看这个例子:

这里将last-name的值用email校验,因此在测试启动时就报错了,因为配置文件里的这个值不是邮箱地址格式

另外@Value不支持复杂数据类型的值,比如Map,List等

总结:当写javaBean或者pojo时,最好使用ConfigurationProperties注解方式,而对于获取一些单一的值或简单类型的值,可以使用@Value方式

2.关于运行时入口类的写法:

 在创建Maven工程时,IDEA自动为我们创建了一个入口类,用工程名+"Application"命名。写法如下:

执行方法有两种:

    一种是在main方法左侧绿色三角处右键选择"Run 类名" 或快捷键“ctrl+shift+F10”。这种方式直接将build,package,run等过程封装起来一键完成。

   一种是分步骤,先将其打成jar包后再手动运行。首先是打包步骤:将右侧maven窗口调出来,然后双击

这个下拉项中的package执行打包命令,或在terminal 中敲击mvn package命令执行

若打包成功,则会在console中输出下面图片信息,并将jar包路径显示出来,默认在工程的target下

然后在windows中打开一个shell窗口,执行java -jar jar包路径,这才执行这个jar包 

然后开一个浏览器,输入:http://localhost:8081/hello 验证一下。

这里忽略了controller的介绍,如果没有controller是无法响应这个请求的,接下来介绍

3.关于controller的写法:

注意controller必须放在与入口类同一根目录下,不然入口类找不到它。 

然后看看controller是怎么写的:

这里的注解解释一下:

  @RequestMapping:表明匹配请求中的哪种情况

@ResponseBody:表明结果要作为一个response内容返回给浏览器

@RestController注解相当于@ResponseBody + @Controller合在一起的作用

4.关于Test类的写法:

IDEA创建工程时自动在test.java目录下给我们把测试类写好了

看一下测试类如何注解及运行

类首先需要注解为@SpringBootTest

需要测试的类要用@Autowired来绑定

测试方法需要注解为@Test

运行方法与main方法类似,左侧绿色箭头点击“Run *****”,可以在console中看到测试效果如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值