前端工程师的Java路--Spring MVC 初使用

本文通过一个具体的JavaWeb项目案例,介绍了Maven架构下各层的功能划分与协作方式。包括控制器(Controller)、服务层(Service)、数据访问层(DAO)等组件的实现,并详细解析了MVC模式及MyBatis框架的使用。

生活赤裸裸的将我带进Java世界,虐我千百遍。首先附图JavaWeb目录(demo登录验证),这是一个Java Maven 三层架构状态  :


common:控制层;service:逻辑层;dao:数据库层;eneity:实现类;util:工具类;test:单元测试;mapper:JDBC mybatis映射文件;

我们暂且撇开相关配置文件不谈(因为作者具体也没搞清楚),MVC的核心思想就是注入(可以理解成自动实例化一个对象),我们来看看common其中一个类:


其中红色框代表关键:@Controller  代表一个控制器,当前端(指页面)有http请求来时,会被控制层拦截;

@Autowired  自动注入  我注入了一个类  UserServiceImpl;

@ResponseBody 代表将方法的结果直接写入HTTP response body中,一般在异步获取数据时使用,在使用 @RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据;

@@RequestMapping  前端访问URL:即http请求地址,一般以“do”结果,图中请求就是 login.do


下面附上Service层和Dao层对应的代码:





需要注意的是,Controll层和Service层一定要有注解,标明它是Controll或者Service不然会出现未知错误,另外需要注意的是在Controll和Service都是一个类,而Dao层只有一个接口,因为需要调用数据库,我采用的方式是JDBC的mybatis,它是不需要实现类的,直接在配置相关文件,在Service层注入然后调用方法。下面我们来看看mybatis的配置:

1.数据库用户名密码:


其中第一行是Mysql驱动,需要安装相关jar包(可以理解成Js中的插件),第二行 数据库地址,具体写法 jdbc:mysql://localhost:{端口号}/{响应数据库名字},下面账号、密码,若为空也必须写上去;

2.配置数据源


第一个框:配置相关数据库相关信息    第二个框:找到SQL的映射文件(上面写的有具体的SQL语句)



   数据源的变量参数从哪里可以找得到



扫描包,具体实现dao下面的接口(可以稍微理解成一个实现类的作用)


mapper文件配置:



namespace:接口路径

id:接口中方法的名字

parameterType:参数的类型

resultType:返回参数的类型(我这里是自定义)

标签内部书写SQL语句

内容概要:本文介绍了一种基于蒙特卡洛模拟和拉格朗日优化方法的电动汽车充电站有序充电调度策略,重点针对分时电价机制下的分散式优化问题。通过Matlab代码实现,构建了考虑用户充电需求、电网负荷平衡及电价波动的数学模【电动汽车充电站有序充电调度的分散式优化】基于蒙特卡诺和拉格朗日的电动汽车优化调度(分时电价调度)(Matlab代码实现)型,采用拉格朗日乘子法处理约束条件,结合蒙特卡洛方法模拟大量电动汽车的随机充电行为,实现对充电功率和时间的优化分配,旨在降低用户充电成本、平抑电网峰谷差并提升充电站运营效率。该方法体现了智能优化算法在电力系统调度中的实际应用价值。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事新能源汽车、智能电网相关领域的工程技术人员。; 使用场景及目标:①研究电动汽车有序充电调度策略的设计与仿真;②学习蒙特卡洛模拟与拉格朗日优化在能源系统中的联合应用;③掌握基于分时电价的需求响应优化建模方法;④为微电网、充电站运营管理提供技术支持和决策参考。; 阅读建议:建议读者结合Matlab代码深入理解算法实现细节,重点关注目标函数构建、约束条件处理及优化求解过程,可尝试调整参数设置以观察不同场景下的调度效果,进一步拓展至多目标优化或多类型负荷协调调度的研究。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值