实习日记--day4

SSM框架的搭建

SSM框架的搭建

今天就一个字:“肝”。

*)准备工作
测试数据库如下。(id为int类型,username和password都为varchar类型,大小别太小就行,其中的id设为主键、自增)
在这里插入图片描述
程序素材包:
链接:https://pan.baidu.com/s/1niTBc64LvRNsBD5m2XI3pg
提取码:zz15

1)新建工程,如下图所示
在这里插入图片描述GroupId和ArtifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
  GroupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。
  ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
  这里以下图的设置为例。
在这里插入图片描述
第一出选择到自己Maven的安装目录,第二处选择到Maven安装目录下的conf文件夹,选择其中的settings.xml文件。

在这里插入图片描述因为用到的很多资源都是从国外服务器上下载的,没有代理的话就会很慢,(当然有代理的小伙伴可以直接跳过下面这段),但是阿里有镜像服务器,可以直接从那里下载(阿里爸爸还是??嗷),我们只需要再配置一下刚刚选择的settings.xml文件就行,第一天安装的npp就可以派上用场了,在设置镜像服务器的代码段里加上红色方框中的代码即可。
在这里插入图片描述附加代码段

<mirror>
			<id>alimaven</id>
			<mirrorOf>central</mirrorOf>
			<name>aliyun maven</name>
			<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

然后再点击一下右边的那个"+"号,添加一个如下所示的Property即可。
在这里插入图片描述
后面的项目名称根据自己的情况进行设置就好了,到这里一个新的项目就已经全部建好了,接下来继续SSM框架的搭建。

2)右下角弹出这个提示时点一下允许自动导包
在这里插入图片描述
然后就可以等它自动下载完成了,如果弹出一下信息则说明创建成功(遇到其他问题的小伙伴请根据具体情况自行解决)
在这里插入图片描述创建成功后的工程目录如下
在这里插入图片描述
3)修改pom.xml文件。直接发pom.xml的代码有点多了,素材文件楼主放在最前面的百度网盘中了,直接下载下来然后copy到pom.xml中即可,完成后如下
图所示。
在这里插入图片描述

4)工程项目结构搭建
新建java包,右击main选择New–>Directory,如下图所示。
在这里插入图片描述新建完成后的java应该为蓝色的,如下图所示
在这里插入图片描述
如果是灰色的那就右击java,将其设为Sources Root,这样就能在java包中添加JAVA Class了。
在这里插入图片描述
同样的新建resources包,右击resources包选择Mark Directory as,再选择Resources Root。完成后如下图所示
在这里插入图片描述
然后再右击java,选择New–>Package,生成一个bean包
在这里插入图片描述用同样的方式建立controller、dao、service包,结果如下图所示
在这里插入图片描述
到这里程序大致的骨架就有了。
5)实体类的编写。右击bean包,新建一个UserInfo类对应用户实体。
在这里插入图片描述
UserInfo代码:

public class UserInfo {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "UserInfo{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

UserInfo类直接使用默认构造函数,加入getter、setter和ToString方法。
后面的三个方法都可以由编辑器自动生成。具体步骤:右击空白代码段,选择Generate
在这里插入图片描述在这里插入图片描述
选上要添加的变量就行
在这里插入图片描述6)dao层的编写。先声明接口再写实现类。在到目录下创建一个接口IEserDao,如下图所示
在这里插入图片描述
IUserDao代码:

import com.zhongruan.bean.UserInfo;

import java.util.List;

public interface IUserDao {
    public List<UserInfo> fiandAll();
}

7)IUserDao的实现。先在resources目录下创建一个Directory,命名为mapper,再右击mapper新建一个File,将其命名为UserMapper.xml,用这个xml来实现IUserDao中的接口。
在这里插入图片描述新建完成后如下图所示
在这里插入图片描述
UserMapper.xml代码:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.zhongruan.dao.IUserDao" >
<select id="fianAll()" resultType="com.zhongruan.dao.IUserDao">
    select * from userinfo
</select>
</mapper>

8)接下来要在resources中添加的三个文件也在素材文件夹里了(是不是很贴心),直接把下面的三个文件copy到resources中即可,如下图所示(注意不是mapper目录下,别放错了)
在这里插入图片描述打开db.properties文件,把数据库的参数改成自己的参数,主要是数据库密码
在这里插入图片描述
如果之前在java包中新建的目录不是com.zhongruan.bean(或controller或dao或service)的话,那么就在applicationContex.xml文件里相应的更换即可。
如果applicationContex.xml里有很多报红的话就看看是不是有包没有导入成功,具体如下图所示,看看Dependences里是不是有报红(有些包可能需要点一下那个刷新按钮)
在这里插入图片描述
9)service层的编写。右击service目录新建一个接口IUserService具体新建过程在上面的dao层已经说过一遍了,这里就不多赘述了,完成后如下图所示
在这里插入图片描述
IUserService代码:

import com.zhongruan.bean.UserInfo;

import java.util.List;

public interface IUserService {
    public List<UserInfo> findAll();
}

10)IUserService的实现。先在service目录下新建一个Package,命名为impl,然后在impl下面新建一个类UserServiceImpl。
UserServiceImpl代码:

import com.zhongruan.bean.UserInfo;
import com.zhongruan.dao.IUserDao;
import com.zhongruan.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service  //将service放入spring容器
public class UserServiceImpl implements IUserService {

    @Autowired  //从spring容器中取
    IUserDao userDao;
    @Override
    public List<UserInfo> findAll() {
        return userDao.findAll();
    }
}

11)网页的编写。这里就不现编了,已经写好的样例网页已经放在素材包里了,直接把其中的jsp文件夹(注意是文件夹)直接copy到wabapp目录下即可,完成后如下图所示。
在这里插入图片描述
12)controller层的编写。在controller目录下创建一个类UserController。
UserController代码:

import com.zhongruan.bean.UserInfo;
import com.zhongruan.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

@Controller
@RequestMapping("user") //local:8080:/user
public class UserController {
    @Autowired
    private IUserService userService;
    @RequestMapping("/findAll.do")  //local:8080:/user/findAll.do
    public ModelAndView findAll(){
        List<UserInfo> userinfos=userService.findAll();
        ModelAndView mv=new ModelAndView();
        mv.addObject("ui",userinfos);
        mv.setViewName("allUser");//设置跳转页面
        return mv;
    }

}

13)spring-mvc.xml的编写。这个文件也在素材文件夹里,直接copy到resources文件夹下即可,完成如下图所示。
在这里插入图片描述
web.xml也在素材文件夹中直接将其中的代码copy进去即可。到这里就可以算是全部搭建完成了,接下来就是发布测试了。
14)tomcat的设置及测试。点击Add Configuration按钮,点开下拉菜单Templates,选择Tomcat Server菜单下的local。
在这里插入图片描述点击Configure按钮找到自己的tomcat安装目录,然后选中即可。
在这里插入图片描述然后再选择Deployment,点击旁边的那个"+"号,选择第一个Artifact
在这里插入图片描述在选择第二个ssm:war exploded
在这里插入图片描述点击run后运行的效果如下图所示
在这里插入图片描述然后会自动弹出一个网页
在这里插入图片描述
到这里SSM框架就算是全部搭建完成了,明天会继续完善程序的功能,实现网页的跳转及在网页上实现JDBC的基本增删改查功能。(实际情况是今天遇到改不好的bug了,手动狗头,所以拖了进度)

苟命要紧。

内容概要:本文围绕直流微电网中带有恒功率负载(CPL)的DC/DC升压转换器的稳定控制问题展开研究,提出了一种复合预设性能控制策略。首先,通过精确反馈线性化技术将非线性不确定的DC转换器系统转化为Brunovsky标准型,然后利用非线性扰动观测器评估负载功率的动态变化和输出电压的调节精度。基于反步设计方法,设计了具有预设性能的复合非线性控制器,确保输出电压跟踪误差始终在预定义误差范围内。文章还对比了多种DC/DC转换器控制技术如脉冲调整技术、反馈线性化、滑模控制(SMC)、主动阻尼法和基于无源性的控制,并分析了它们的优缺点。最后,通过数值仿真验证了所提控制器的有效性和优越性。 适合人群:从事电力电子、自动控制领域研究的学者和工程师,以及对先进控制算法感兴趣的研究生及以上学历人员。 使用场景及目标:①适用于需要精确控制输出电压并处理恒功率负载的应用场景;②旨在实现快速稳定的电压跟踪,同时保证系统的鲁棒性和抗干扰能力;③为DC微电网中的功率转换系统提供兼顾瞬态性能和稳态精度的解决方案。 其他说明:文中不仅提供了详细的理论推导和算法实现,还通过Python代码演示了控制策略的具体实现过程,便于读者理解和实践。此外,文章还讨论了不同控制方法的特点和适用范围,为实际工程项目提供了有价值的参考。
内容概要:该论文介绍了一种名为偏振敏感强度衍射断层扫描(PS-IDT)的新型无参考三维偏振敏感计算成像技术。PS-IDT通过多角度圆偏振光照射样品,利用矢量多层光束传播模型(MSBP)和梯度下降算法迭代重建样品的三维各向异性分布。该技术无需干涉参考光或机械扫描,能够处理多重散射样品,并通过强度测量实现3D成像。文中展示了对马铃薯淀粉颗粒和缓步类动物等样品的成功成像实验,并提供了Python代码实现,包括系统初始化、前向传播、多层传播、重建算法以及数字体模验证等模块。 适用人群:具备一定光学成像和编程基础的研究人员,尤其是从事生物医学成像、材料科学成像领域的科研工作者。 使用场景及目标:①研究复杂散射样品(如生物组织、复合材料)的三维各向异性结构;②开发新型偏振敏感成像系统,提高成像分辨率和对比度;③验证和优化计算成像算法,应用于实际样品的高精度成像。 其他说明:PS-IDT技术相比传统偏振成像方法具有明显优势,如无需干涉装置、无需机械扫描、可处理多重散射等。然而,该技术也面临计算复杂度高、需要多角度数据采集等挑战。文中还提出了改进方向,如采用更高数值孔径(NA)物镜、引入深度学习超分辨率技术等,以进一步提升成像质量和效率。此外,文中提供的Python代码框架为研究人员提供了实用的工具,便于理解和应用该技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值