Spring中各类注解

@ApiOperation注解说明

首先@ApiOperation注解不是Spring自带的,它是是swagger里的
注解@ApiOperation是用来构建Api文档的
@ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response =

“接口返回参数类型”, notes = “接口发布说明”;其他参数可参考源码;
Spring Boot中使用Swagger2构建强大的RESTful API文档

@Transactional(rollbackFor=Exception.class)

在项目中,如果类加了这个注解,那么这个类里面的方法抛出异常,就会回滚,数据库里面的数据也会回滚。
@Transactional注解的用法

Serializable (一个对象序列化的接口)

一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。
因此如果要序列化某些类的对象,这些类就必须实现Serializable接口。

而实际上,Serializable是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化。

什么时候需要序列化??
(1)当你想把内存的对象写入到硬盘的时候;
(2)当你想用套接字socket在网络上传送对象的时候;
(3)当你想通过RMI传输对象的时候;

再稍微解释一下:
a)比如说你的内存不够用了,那计算机就要将内存里面的一部分对象暂时的保存到硬盘中,等到要用的时候再读入到内存中,硬盘的那部分存储空间就是所谓的虚拟内存。在比如过你要将某个特定的对象保存到文件中,我隔几天在把它拿出来用,那么这时候就要实现Serializable接口;

b)在进行java的Socket编程的时候,你有时候可能要传输某一类的对象,那么也就要实现Serializable接口;最常见的你传输一个字符串,它是JDK里面的类,也实现了Serializable接口,所以可以在网络上传输。

c)如果要通过远程的方法调用(RMI)去调用一个远程对象的方法,如在计算机A中调用另一台计算机B的对象的方法,那么你需要通过JNDI服务获取计算机B目标对象的引用,将对象从B传送到A,就需要实现序列化接口。

Java的Map类详解

StringBuilder的字符串拼接效率远远高于String
String、StringBuilder 、StringBuffer

delete方法与deleteCharAt两个方法都是用来删除StringBuffer字符串指定索引字符的方法,

delete(int a,int b)有两个参数,使用时删除索引从a开始(包含a)到b(不包含b)的所有字符;
deleteCharAt(int a)只有一个参数,使用时删除索引为a的字符;

Java中CharSequence和String
charSequence是一个接口,表示char值的一个可读序列。
此接口对许多不同种类的char序列提供统一的自读访问。
此接口不修改equals和hasCode方法的常规协定,因此,通常未定义比较实现CharSequence的两个对象的结果。
他有几个实现类:CharBuffer 、String 、StringBuffer 、StringBuilder
CharSequence与String都能用于定义字符串,但CharSequence的值是可读可写序列,而String的值是只读序列。

对于一个抽象类或者是接口类,不能使用new来进行赋值,但是可以通过以下的方式来进行实例的创建:
CharSequence cs=”hello”;

StringBuilder.append和String的 拼接字符串StringBuilder.append高的原因

[ResultSet结果集的使用:查询数据库时,返回的是一个二维的结果集,我们需要用到ResultSet来遍历结果集,获取每一行的数据。

Spring之JDBCTemplate的学习
JDBC Temple模板的使用
JDBC的增删改查

使用KeyHolder 获取Spring JdbcTemplate插入记录ID

sql=“insert ****”;
插入的是user对象
KeyHolder keyholder = new GeneratedKeyHolder();
int userID = keyHolder.getKey().longValue();
KeyHolder获取数据插入之后的ID

PreparedStatement

preparedStatement的使用

StringUtils

StringUtils是String的补充,如果输入的字符串是null不会抛异常
1.public static boolean isEmpty(String str)
判断某字符串是否为空,为空的标准是 str==null 或 str,length()==0;

2.public static boolean isNotEmpty(String str)
判断字符串是否非空,等于!=isEmpty(String str)

java之StringUtils的常用方法

MessageDigest类与MD5算法

这个类可以提供MD5算法或SHA算法用于计算出数据的摘要:它接收任意大小的数据,并输出计算后的固定长度的哈希值。
MessageDigest类与MD5算法

Digest实现MD5加密
DigestUtils.md5Hex(password)
password需要加密的字符串

Lambda匿名函数->

Lambda是java 8 新增的特性的新语法。
Lambda其实就是一个匿名函数,Lambda允许将函数作为一个方法的参数,传递进方法中,我们就把Lambda表达式理解为一个可以传递的代码,这样写出来的代码,就可以做到哦简洁、灵活。
Lambda匿名函数以及java8新特性的函数

Java迭代器(遍历)

迭代器的三个方法:
1.Iterator()//获取迭代器
2.hasNext()//判断集合是否有数组
3.next()//从集合中取出元素

public class tesk {
   public static void main(String[] args) {
        //      测试迭代器中的方法
        Collection collection = new ArrayList();
        collection.add("a");
        collection.add("b");
        collection.add("c");
        collection.add("s");
     //获取迭代器中的迭代器
        Iterator iterator =  collection.iterator();
        while(iterator.hasNext(){
        Object next = iterator.next();
        System.out.println(next);
   /** //先判断集合中是否有元素
       boolean isha = iterator.hasNext();
       System.out.println(isha);
    //从集合中取出元素
      Object next =  iterator.next();
      System.out.println(next);
      */
}
}
运行结果:
true
a

java迭代器
foreach使用迭代器

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Nacos是阿里巴巴开源的一个服务注册与发现平台,而Spring Security是一个基于Spring框架的安全性解决方案。 在将Nacos整合到Spring Security,可以通过以下步骤进行: 1. 添加Nacos依赖:首先在项目的pom.xml文件,添加Nacos的依赖,以便能够使用Nacos的功能。 2. 安全配置:在项目的安全配置文件,可以通过配置相应的安全策略和访问规则来保护应用的资源。可以使用Spring Security提供的注解、配置文件或Java代码进行配置。 3. Nacos注册心配置:在项目的配置文件,添加Nacos注册心的配置信息,包括Nacos的服务器地址、用户名、密码等,以便能够连接到Nacos注册心。 4. 注册服务:在项目启动时,通过使用Nacos的API,将应用注册到Nacos注册心,以便其他服务能够发现和访问到该应用。 5. 安全访问策略:可以通过配置Nacos的安全访问策略,限制只有经过认证和授权的服务才能访问该应用。 通过以上步骤,就可以将Nacos整合到Spring Security,实现对应用资源的安全保护和服务发现。当其他服务需要访问该应用时,可以通过Nacos来获取该应用的信息,并且经过安全认证和授权后才能访问。 总结来说,Nacos整合到Spring Security可以提供更好的服务发现和访问控制的功能,可以保护应用的资源安全并提高系统的整体安全性。 ### 回答2: nacos是一个基于云原生的动态服务发现、配置管理和服务管理平台,而Spring Security是Spring框架提供的安全权限管理解决方案。将nacos与Spring Security整合,可以帮助我们实现更加灵活和可靠的微服务架构。 首先,我们可以利用nacos的服务发现功能,将所有的微服务注册到nacos服务器上,通过nacos的服务注册与发现,可以轻松地实现微服务间的通信。在集成springsecurity时,我们可以使用nacos的服务名作为权限资源的标识,从而对不同的服务进行权限管理。 其次,nacos还提供了配置管理功能,我们可以将springsecurity的相关配置信息存储在nacos,并动态地修改和更新这些配置。这样,当需要变更权限配置时,我们可以直接在nacos上进行修改,而无需重启或停止整个系统,大大提高了权限管理的灵活性和可维护性。 此外,nacos还支持服务监控和健康检查等功能,我们可以利用这些功能监控微服务的运行状态,并及时发现和解决潜在问题。在整合springsecurity时,我们可以结合nacos的健康检查功能,判断某个微服务是否正常运行,从而根据实际情况进行权限控制。 总之,将nacos与springsecurity整合可以极大地增强微服务架构的安全性和可靠性。通过nacos的服务发现、配置管理和健康检查功能,我们可以更加灵活和实时地进行权限管理,保障系统的安全性和稳定性。这样的整合方式为我们提供了一种简便有效的解决方案,适用于开发各类基于云原生的微服务应用。 ### 回答3: Nacos是一个用于动态服务发现、配置管理和服务管理的开源平台。而Spring Security是一个用于认证和授权的开源框架。将Nacos整合到Spring Security可以实现对服务的认证、授权和权限控制。 首先,我们需要在Spring Boot项目引入Nacos和Spring Security的相关依赖。可以通过在pom.xml文件添加相应的依赖来实现。 其次,需要在Spring Boot项目的配置文件(例如application.yml)进行配置。配置Nacos的地址、端口、命名空间等信息,以及Spring Security的相关配置,如认证方式、角色权限等。 然后,我们可以使用Nacos提供的API来实现服务的注册、发现和配置管理。可以使用Nacos的@NacosInjected注解来注入Nacos服务实例,并通过调用相关方法来实现服务的注册和发现。 最后,结合Spring Security的相关注解和配置,我们可以对服务进行认证和授权。可以使用Spring Security提供的注解(如@PreAuthorize)来定义接口或方法的访问权限,以及过滤器来拦截请求并进行身份认证等操作。 总结起来,Nacos整合Spring Security可以实现对服务的认证、授权和权限控制。通过配置Nacos和Spring Security的相关信息,并结合相应的注解和API,我们可以使得服务在注册、发现和配置的同时,实现安全性的保障,确保只有经过认证和授权的用户才能访问相应的服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值