基于SSH+SpringBoot的项目构建

SSH+SpringBoot项目构建

目录:

SSH+SpringBoot项目构建
一、创建SpringBoot工程1. 配置pom.xml,导入Maven,常用如下:2. application.properties常用配置3. 创建HelloController进行测试,成功即进行下一步
二、编写Model
三、编写Dao层和Service层1. Dao层2. Service层
四、Controller编写

一、创建SpringBoot工程

注意模板的jdk版本,以及resource文件夹是否被标识为资源文件

1. 配置pom.xml,导入Maven,常用如下:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.3</version>
    	<!-- 公司的版本 -->
        <!-- <version>2.3.3.RELEASE</version> -->
        <relativePath/>
</parent>

<!-- SpringBoot整合web -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- SpringBoot集成Junit -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!-- MySQL -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
</dependency>
<!-- Jpa,Hibernate的导入 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- lombox -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.16</version>
</dependency>

2. application.properties常用配置

# http://localhost:8080/sshTest
server.port=8080
server.servlet.context-path=/sshTest

# 设置mysql的四个参数
# 可单独用个beans.xml文件配置,然后用@ImportResource("classpath:beans.xml")导入
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/takessssss?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root

#hibernate语句打印
#控制台是否打印
spring.jpa.properties.hibernate.show_sql=true
#格式化sql语句
spring.jpa.properties.hibernate.format_sql=true
#指出是什么操作生成了该语句
spring.jpa.properties.hibernate.use_sql_comments=true

3. 创建HelloController进行测试,成功即进行下一步

二、编写Model

// lombok
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
// Jpa规范,必须标识这是个entity,指向对应table,两者关联。
@Entity
@Table(name = "t_user")
public class User {
    // Jpa规范,必须有一个唯一标识标识,此注解标识标识成员属性id为唯一标识。
    @Id
    // Jpa规范,唯一标识必须有增长策略
    @GeneratedValue(generator = "t_user",strategy = GenerationType.IDENTITY)
    private Integer id;
    private String username;
    private String password;
    // 表的字段与类的成员名字不相同时,用@Column注解可将关系对应上
    // 经测试,成员若是eMail,会自动对应表的e_mail.
    @Column(name = "e_mail")
    private String email;
    
}

上文提到的增长策略,这里详细说明:

  • AUTO

    可以是identity类型,或者sequence类型或者table类型,取决于不同的底层数据库.

  • TABLE -

    使用一个特定的数据库表格来保存主键。这种策略的好处就是不依赖于外部环境和数据库的具体实现,在不同数据库间可以很容易的进行移植,但由于其不能充分利用数据库的特性,所以不会优先使用

  • IDENTITY

    主键由数据库自动生成(前提是字段有设置自动增长)

  • SEQUENCE

    在某些数据库中,不支持主键自增长,比如Oracle。该策略一般与另外一个注解一起使用@SequenceGenerator,@SequenceGenerator注解指定了生成主键的序列。然后JPA会根据注解内容创建一个序列(或使用一个现有的序列)。如果不指定序列,则会自动生成一个序列SEQ_GEN_SEQUENCE。

三、编写Dao层和Service层

1. Dao层

实现Dao层的方式有很多种,本文使用无需额外导入依赖的基于Spring Data Jpa的接口,常用的有两个:

  1. CrudRepository
  2. JpaRepository

二者有继承关系,用法也基本一样,本文以父类CrudRepository为例。只需要继承JpaRepository接口即可,泛型分别是对应的pojo以及它唯一标识的数据类型

@Repository
public interface UserDaoCrud extends CrudRepository<User,Integer> {

}

2. Service层

service层实现具体业务,可调用CrudRepository的内置方法有:

// 保存对象
<S extends T> S save(S var1);

// 将集合中的对象批量保存
<S extends T> Iterable<S> saveAll(Iterable<S> var1);

// 根据id查询指定对象,Optional
Optional<T> findById(ID var1);

// 是否存在此id
boolean existsById(ID var1);

// 查询所有
Iterable<T> findAll();

//根据id集合批量查询
Iterable<T> findAllById(Iterable<ID> var1);

// 查询此表总条数
long count();

// 根据id删除指定数据
void deleteById(ID var1);

// 删除数据(实测也是根据id,不会根据其他条件)
void delete(T var1);

// 根据集合内对象的id,批量删除数据
void deleteAll(Iterable<? extends T> var1);

// 清空表
void deleteAll();

JpaRepository与其大同小异,不同的有两点:

  1. JpaRepository有flush等机制,详情请参考文件Spring Data/Jpa // TODO -lyx
  2. JpaRepositorydeleteAllInBatch()与继承父类的deleteAll()deleteInBatch()与继承父类的deleteAll(Iterable<? extends T> var1)的区别就是,后者是一条一条Sql查出来,然后循环去删除,前者Batch是一条Sql语句,所以性能更高。

Service例子:

@Service
// 在类上声明,开启所有public权限方法的事务处理
@Transactional
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDaoCrud userDaoCrud;

    @Override
    public void save(User entity) {
        userDaoCrud.save(entity);
    }
}

四、Controller编写

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/toRegister")
    public void register(User user, HttpServletResponse response) throws IOException {
        userService.save(user);
        // 随便跳个网页
        response.sendRedirect("http://www.baidu.com");
    }
}

然后输入网址:http://localhost:8080/sshTest/user/toRegister?username=admin&password=123 ,

数据库中的结果:

原文地址:https://www.cnblogs.com/catcode/p/15247766.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


背景:我已经有一个ssh公钥和私钥了,绑定的是公司的码云但是绑定github是不允许的所以我需要在生成一个公钥和私钥第一步执行下面的命令, 至于如果生成ssh公钥点击这里ssh-keygen-trsa-C'your_email@example.com'-f~/.ssh/id_rsa_github然后一路回车 这里注意id_srs_g
在服务器程序的部署运维过程中,我们经常需要将文件从一个服务器拷贝到另一个服务器中。可以使用ftp,可以使用samba服务,这里我们介绍scp命令进行文件的拷贝和传输。scp是securecopy的缩写,scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。scp是加
#!/bin/bash#创建一个以.sc结尾的文件,把要操作的主机按顺序填写进去,多个IP另起一行顶格填写例如:#192.168.0.1#192.168.0.2#确保当前操作脚本的主机,已经可以免密到被操作主机,如未完成请自行解决。do_command(){hosts=`sed-n'/^[^#]/p'*.sc`forhost
打开终端安装openssh-server软件包:sudoaptupdatesudoaptinstallopenssh-server安装完成后,SSH服务默认自动启动,你可以通过以下命令校验服务运行状态:sudosystemctlstatusssh如果防火墙开启,则需要让防火墙允许ssh通过sudoufwallowssh注意事项VMware虚拟
环境centos7.9,.NET5一、Jenkins搭建1)下载Jenkins的war包在\home目录建一个jenkins目录放jenkins的包#进入\home目录cd\home#创建jenkins目录mkdirjenkins在jenkins目录下载war包#进入jenkin目录cd\home\jenkins#下载jenkins的war包wgethttp://mirrors.jenkin
dropbear下载地址:https://matt.ucc.asn.au/dropbeareleases/dropbear-2020.81.tar.bz2软件版本号说明opensuse 15.3 ssh8 dropbear2020.81     安装编译器和依赖:zypperinstallzlib-develgcc配置安装目录:./configure--prefix=/
1.前言前面基本上已经都讲完了MHA的原理部分,这小结主要是动手实操一下MHA2.前提准备1.首先下载MHA软件包(1)#下载mha软件mha官网:https://code.google.com/archive/p/mysql-master-ha/github下载地址:https://github.com/yoshinorim/mha4mysql-manager
前期准备确定服务器可以上网apt源配置完毕安装ssh使用apt安装openssh服务。sudoapt-getinstallopenssh-server启动sshroot@cka01:~#sudo/etc/init.d/sshstart#确定22端口存在并存活root@cka01:~#ss-tnl|grep22LISTEN01280.0.0
1.首先你需要在github上或者gitlab上建立了自己的账户,项目组已经将你加入了group。2.打开gitbash,输入命令ls-al~/.ssh如果显示如下图:则表示生成过key,可以去执行第4个步骤。否则的话执行第三个步骤生成key  3.这个时候输入命令ssh-keygen-trsa-C"min~~~~"  这
简述Linux如何远程拷贝,限速和断点续传scp命令 –远程拷贝文件scp拷贝本地文件filename到远程机器192.168.188.188服务器的/datamp目录下scp-P61204-l40000filenameusername@192.168.188.188:/datamp/ -PportSpecifiestheporttoconnecttoontherem
最近两天发现push代码到GitHub上时,发现必须得用SSH或者Token的方式。直接上干货1.SSH方式 1.1在桌面上GitBashHere 1.2检查是否已存在SSH   如果已存在,则直接进入.ssh目录1.3不存在,则创建一个SSHkey(如果不需要设置输入密码,一直回车就好)$ssh-keygen
安装命令yuminstallopenssh-clientsLinuxscp命令用于Linux之间复制文件和目录。scp是securecopy的缩写,scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。scp是加密的,rcp 是不加密的,scp是rcp的加强版。语法scp[-1246BCpqrv][-ccipher][-F
1.环境介绍1.本地为windows2.远程为linux2.本地安装ssh环境我这里下载了git,所以在环境变量里把/git/usr/bin加进去就可以了3.本地vscode安装远程开发插件Remote-development是一个集成插件,安装它就可以了4.生成ssh秘钥对,并将公钥放入远程机#本地机生成秘钥对$s
文章链接故障表现在使用jumperver登录AWSec2实例的时候发现ssh配合秘钥登录的时候无法登录,具体报错如下:ssh-i/path/xx.pemuser@10.0.11.190Permissiondenied(publickey,gssapi-keyex,gssapi-with-mic).问题排查过程在发现无法登录的第一时间等了AWS平台查
1.给root用户设置密码sudopasswdroot2.修改sshd配置文件sudonano/etc/ssh/sshd_config修改PermitRootLoginyes把PermitRootLoginwithout-password或者PermitRootLoginprohibit-password改为PermitRootLoginyes,注意PermitRootLoginwithout-password可能被注
手上有一台12.4的ios机器,通过SecureCrt可以ssh上去,但是每次连接的时候都会报“KeyboardInteractive”错误,skip即可,但是通过ssh客户端连接,却无法正常连接,错误提示如下:@127.0.0.1:Permissiondenied(publickey,password,keyboard-interactive) 开始以为是KeyboardInteract
1、创建私有CA并进行证书申请。1.创建CA所需要文件#生成证书索引数据库文件touch/etc/pki/CA/index.txt#指定第一个颁发证书的序列号echo01>/etc/pki/CA/serial2、生成CA私钥cd/etc/pki/CA/(umask066;opensslgenrsa-outprivate/cakey.pem2048)3、生成CA自签名证书op
克隆两台虚拟机加master三台组成一个集群 所克隆的虚拟机需要修改主机名,ip 永久修改主机名 hostnamectlset-hostnamenode1或node2 ip 方式1: 通过可视化界面直接修改 方式2: vim/etc/sysconfigetwork-scripts/ifcfg-ens33 然后重启网络:servicenetworkrestart
SSH配置文件中加密算法没有指定,默认支持所有加密算法,包括arcfour,arcfour128,arcfour256等弱加密算法。但是目前RC4是不安全算法若数据库安全性要求比较高,这个漏洞还是必须要修复的,下面记录下OracleRAC修复过程,此修复过程不影响现有系统。如有不当欢迎斧正。1、root权限用户才能
问题:通过XShell等客户端使用ssh方式通过root用户连接Ubuntu虚拟机时,出现SSH服务器拒绝了密码,请再试一次。解决:安装ssh,开启root用户登录权限。1安装ssh-serverroot@ubuntu:/etc/apt#apt-getinstallopenssh-server安装ssh-server2安装ssh-clientroot@ubuntu:/etc/apt#ap