SpringBoot初步学习

SpringBoot快速入门
本文介绍SpringBoot的基础概念,包括如何快速创建项目、配置文件的使用、自定义配置及注入、环境配置切换,以及日志管理和配置。通过实例展示SpringBoot简化开发流程的特点。

SpringBoot初步学习记录

什么是springBoot?

Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)。

快速创建spring项目
1.使用IDEA工具创建一个spring Initializr项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建好项目之后的pom.xml文件

在这里插入图片描述

下面这张是创建好的程序的入口类,也就是程序的启动大门
在这里插入图片描述
下面是application.properties文件的一些配置
在这里插入图片描述

yml是springboot提供的一种新的文件,编写起来很方便,但是有固定格式,前面一定要加一个空格,使用idea进行编写前缀相同的会自动归类
在这里插入图片描述

在有的时候呢我们可以使用自定义配置模块,比如以下我位置了一些属性,并且赋了值
在这里插入图片描述
那么这些个属性值应该怎么使用呢?
我们在这里使用@Value的注解进行使用,括号里填写的的我们自定义配置文件里的属性名(单个属性)
在这里插入图片描述
那么还有一种多个属性的方式就是要创建一个实体类并且我跟给它GET and SET方法,注意看这里有一个@ConfigurationProperties注解,这个注解的意思就是所有以app为前缀的属性自动赋值给对应的Bean属性,这个类怎么使用呢?
就是上一张图,使用动态注入的方式进行使用。使用@Resource注解当然也可以使用@Autowire
这里提一下:@Resource与@Autowire的区别
1.@Autowire是Spring开发的,而@Resource是jdk开发的
@Autowire是按照type来注解的,而@Resource是按照名称来的,如果名称找不到,那么就按照type,,如下有例子,我自己测试过, 在一个实现类AnnouncementImpl 加上@Service 在图1-1,那么名称就是myovieLister 类型就是 AnnouncementImpl ,我在 controller层使用的时候可以用 @Autowire或者@Resource都是没问题的
在这里插入图片描述

数据源切换:
在有些时候呢,我们要配置至少两种环境(开发环境以及正式环境)怎么完成切换呢?
我们可以创建三个yml文件,第一个为控制切换源,的文件
第二个是我们的测试环境(数据库为测试)
第三个是我们的生产环境(数据库为生产)
在这里插入图片描述
这里呢,我们制定的是prd也就是生产环境
在这里插入图片描述
还有一点就是我们的日志文件,考虑到一般测试环境有可能为windows系统,但是正式部署的时候大多数是在Linux系统,所以我们日志的路径有的时候可能导致异常,那么在logback.xml我们也进行了配置
.在这里插入图片描述

这个是Spring里提供的日志配置的一些相关信息
在这里插入图片描述
再有的时候呢,日志的信息量比较大的时候,我们的日志文件甚至能够达到几个G的大小,所以查找起来异常信息点比较复杂,这时呢我们可以使用logback日志工具进行日志存储

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

	<!--定义日志保存的路径-->
	<!--1、更改默认的logback.xml为logback-spring.xml
	SpringBoot当看到logback-spring.xml文件存在的时候,才会启动该日志的环境切换
	logback.xml文件没法做到
	2.在需要切换的环境上增加springProfile标签-->
	<springProfile name="dev">
		<property name="LOG_HOME" value="d:/logs/dev/"></property>
	</springProfile>
	<springProfile name="prd">
		<property name="LOG_HOME" value="d:/logs/prd/"></property>
	</springProfile>

	<!--<property name="LOG_HOME" value="d:/logs" />-->
	

	<!--定义一个控制台输出器,名为console-->
	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
		<!--按pattern指定的格式输出日志,编码为UTF-8-->
		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread]  %logger{30} - %msg%n</pattern>
			<charset>UTF-8</charset>
		</encoder>
	</appender>
	<!--定义一个日滚动(每天生成一份)的日志文件-->
	<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<!--按pattern指定的格式输出日志,编码为UTF-8-->
		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread]  %logger{30} - %msg%n</pattern>
			<charset>UTF-8</charset>
		</encoder>
		<!-- 定义保存的文件名 -->
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<!--%d{yyyy-MM-dd}代表每天生成一个新的日志-->
			<fileNamePattern>${LOG_HOME}/mysprintboot_%d{yyyy-MM-dd}.log</fileNamePattern>
			<!--日志最多保存90天,也就是90份-->
			<maxHistory>90</maxHistory>
		</rollingPolicy>
		<!-- 在日滚动文件中,强制只保存错误INFO级别以上信息 -->
		<filter class="ch.qos.logback.classic.filter.LevelFilter">
			<level>ERROR</level>
			<onMatch>ACCEPT</onMatch>
			<onMismatch>DENY</onMismatch>
		</filter>
	</appender>
	<!-- 定义日志全局最低输出级别是INFO,同时向控制台和日滚动文件输出 -->
	<root level="INFO">
		<appender-ref ref="console" />
		<appender-ref ref="file" />
	</root>
</configuration>

内容概要:本文围绕新一代传感器产品在汽车电子电气架构中的关键作用展开分析,重点探讨了智能汽车向高阶智能化演进背景下,传统传感器无法满足感知需求的问题。文章系统阐述了自动驾驶、智能座舱、电动化与网联化三大趋势对传感器技术提出的更高要求,并深入剖析了激光雷达、4D毫米波雷达和3D-ToF摄像头三类核心新型传感器的技术原理、性能优势与现存短板。激光雷达凭借高精度三维点云成为高阶智驾的“眼睛”,4D毫米波雷达通过增加高度维度提升环境感知能力,3D-ToF摄像头则在智能座舱中实现人体姿态识别与交互功能。文章还指出传感器正从单一数据采集向智能决策升级,强调车规级可靠性、多模态融合与成本控制是未来发展方向。; 适合人群:从事汽车电子、智能驾驶、传感器研发等相关领域的工程师和技术管理人员,具备一定专业背景的研发人员;; 使用场景及目标:①理解新一代传感器在智能汽车系统中的定位与技术差异;②掌握激光雷达、4D毫米波雷达、3D-ToF摄像头的核心参数、应用场景及选型依据;③为智能驾驶感知层设计、多传感器融合方案提供理论支持与技术参考; 阅读建议:建议结合实际项目需求对比各类传感器性能指标,关注其在复杂工况下的鲁棒性表现,并重视传感器与整车系统的集成适配问题,同时跟踪芯片化、固态化等技术演进趋势。
内容概要:本文系统阐述了汽车电子软件测试的整体框架,重点围绕软件及系统集成测试、软件与系统(需求)测试、验收测试、测试报告编写以及整体测试状态汇总五大核心环节展开。详细说明了软件集成测试与系统集成测试在组件聚合、软硬协同、接口验证等方面的实施策略与技术差异,明确了软件测试偏重逻辑正确性(白盒)、系统测试关注端到端行为表现(黑盒)的定位区分,并强调验收测试正从工程交付关口转变为用户价值验证的核心环节。同时,文章指出测试报告需建立需求与用例间的可追溯链,整体测试状态汇总则是呈现软件质量全景的“仪表盘”,对于多域协同的复杂汽车系统至关重要。; 适合人群:从事汽车电子、嵌入式系统开发与测试的工程师,尤其是工作1-3年、希望深入理解软件测试体系与流程的中初级技术人员;也适用于项目管理人员和技术负责人; 使用场景及目标:①理解汽车软件测试各阶段的边界、职责与协作关系;②掌握集成测试中软/硬件接口验证的方法论;③构建从技术测试到用户价值验证的全局视角,提升测试策略设计能力; 阅读建议:此资源以工程实践为基础,结合ASPICE等标准演进,不仅讲解测试技术细节,更强调测试管理与用户思维的融合,建议结合实际项目流程对照学习,并关注各测试层级之间的衔接与追溯机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值