SpringBoot笔记创立项目获取配备文献中属性值修改配备文献名和文献途径(可指定各种文献或者途径)1.通过配备方式2.通过编码方式(用这种比较好些)上图是两种方式,上面一种是加载一种文献,下面一种是加载各种文献3.注入集合要注意是:在注入集合时候,代码中集合一定要有get和set办法,并且集合名要和除前缀之外属性名相似。在初始化时候,springboot就会去上述两种状况加载文献中去找前缀是ds属性。下面@ConfigurationProperties注解中有两个属性,一种是prefix即前缀,一种是locations即本地文献途径。如果只写前缀,那么prefix=可以省略,此时会从已加载配备文献中去找相应属性,如果指定locations话,prefix=也不能省略,此时会从locations指定文献中去找相应属性。不同环境读取不同配备文献Springboot自动装配非自动装配示例如下按条件自动装配示例如下特别注意:@Conditional注解可以用在办法上,也可以用在类上,如果用在办法上,则表达只对办法自动装配,如果用在类上,则表达对该类下所有办法都进行自动装配,如下面@Conditional注解就表达当Utf8Condition中办法返回true时对该类中所有办法都进行自动装配。由于@Conditional注解接受参数是一种数组,一次可以传各种Condition,下图所示就表达当Utf8Condition和GbkCondition都返回true时才对该类下所有办法进行自动装配:SpringBoot还给咱们提供了某些较好用按条件自动装配类,在org.springframework.boot.autoconfigure.cloud包下面,可以自行研究下,下面演示两个惯用。如@ConditionalOnProperty是与属性配合使用,@ConditionalOnClass与类配合使用,@ConditionalOnBean与bean配合使用,示例如下默认配备文献中加上如下属性:运营即可再如再如两个runnable已所有加载再如或者Springboot实现异步解决Springboot自动装配没有加注解beanSpringboot事件监听流程:1.自定义事件,普通是继承ApplicationEvent抽象类;2.定义事件监听器,有各种实现方式,并且对同一种事件可创立各种监听器;3.发布事件。实现1:实现2:实现3:详细实例(顾客注册,插入数据库并邮件告知):上述程序启动之后再浏览器中输入如下地址访问,就会在控制台打印�有关信息:=liuqian&password=123SpringbootJDBC或者spring.datasource.type属性可以用来指定数据源,如下图事物:要注意:可以在注解背面括号中设立事物,自行学习或者SpringbootAOP(面向切面)Aop用途:日记记录、权限解决、性能记录、监控、事务解决、异常解决等。一方面在测试启动时候遇到一种错误,报错如下:错误解决方案如下:办法一:@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})详细实现:或者Springboot–redisSpringbootStarter–redis有两种方式:一种时直接在项目中引入Jedis依赖包,直接使用Jedis,另一种时引入spring-boot-starter-data-redis。下面示例时直接使用Jedis。下图中红色框里内容时在使用Jedis连接成功redis之后进行密码验证,如果设立了redis无需密码登陆,则不需要在代码中设立。Springboot日记Springboot监控和度量自定义health可自定义配备info输�效果除了上述信息之外,还可以将监控信息输�到jmx(如jvisualvm.exe等)或者redis。对于监控测量更详细信息可以参照官方阐明文档Springboot测试特别注意:上述测试类中为啥要加classes=XXX.class因素:由于SpringBoot默认扫描启动类所在包以及子包中所有bean,因此在测试类中需要加上。如果某个bean只有测试途径下有,而项目途径下没有,则还需要把测试途径下该bean加到classes背面去。测试bean想要让测试包中bean生效,还需要手动加入到容器中测试配备环境1(使用程序包中环境类MyConfig来测试)测试配备环境2(直接使用springEnvironment,前提是如果配备信息不在默认配备文献内话,必要先在程序包中将配备文献引入)如果在测试之前要进行某些变量或者对象初始化时,就用@Before注解测试Controller方式1(用这种方式测试话会加载整个spring容器)测试Controller方式2(这种方式就是普通SpringMvc中Controller测试方式,不会加载整个spring容器,因而有必要配备自动扫描包)Springboot整合mybatisMybatis逆向工程Springboot构建微服务所谓为服务,就是将一种项目按照功能模块拆提成各种功能单元,每个功能单元都可以自行选用不同技术来完毕。这样做以便并行开发、测试以及维护。下图时产品微服务,使用springboot开发下图时调用为服务接口示例Springboot服务注册与发现1.注册方(服务提供方)服务注册方(提供接口)需要引jar包(一定要注意版本不能太高,否则会报错)服务调用方需要引用jar包(一定要注意版本不能太高且与服务注册放一致,否则会报错)常用注册中心:zookeeper,consul,etcd,redis流程:1.服务器提供方去要在启动服务时候,把服务器信息(ip,port)注册到注册中心(在示例中使用时zookeeper)。2.下载zookeeper在Windows下配备zookeeper配备地址:(特别要注意,再服务发现程序配备文献中也要配备该地址)用PowerShell查看节点2.发现方(服务调用方)(如果是使用springbooot话可以使用如下配备,这个配备也可直接在代码中写死)普通类中调用服务(下面是测试main办法,实际项目中可以用在任何办法中,可进行封装)在springboot类中调用同样。3.当有各种注册方时候,各种注册方名称可以同样,也可以不同样,如果名称同样,则调用方可通过ip和端标语来判断是哪个注册方,如果名称不同样,则调用方可直接通过名称来发现注册方。3.1各种注册方名称不一致状况注册方一:注册方二:调用方:3.2各种注册方名称相似状况:这种状况普通是将同一服务程序跑在不同服务器上,可设立相似或者不同端标语,用来做负载均衡。注册方一:注册方二:调用方(实现简朴负载均衡):负载均衡类调用类Springboot服务打包和布置1.打成jar包并布置:双击package,将项目打包(要注意:这种方式需要在服务器上安装jdk环境)在项目target目录下找到jar包复制�来,并在要布置程序服务器上新建一种目录,将jar包放在里面用命令java-jar+jar包途径来启动程序,如果想指定springbootjar包运营jvm内存,可用命令java-Xms10m-Xmx200m-jarxxx.jar。如果采用服务方式启动,通过自定义springboot脚本并使用JAVA_OPTS=-Xmx=16m-Xmx=48m2.打成war包并发布3.打包成可执行文献并发布