V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Bingchunmoli  ›  全部回复第 36 页 / 共 40 页
回复总数  793
1 ... 28  29  30  31  32  33  34  35  36  37 ... 40  
2022-04-13 16:34:41 +08:00
回复了 dcsuibian 创建的主题 Windows Windows 下对应 nohup &的命令是什么?
@liaohongxing 日常了百度出来就是这个,不过 java 稳定性还好
2022-04-13 16:16:45 +08:00
回复了 JerryJerry 创建的主题 宽带症候群 终端 ping 域名返回内网地址
这是保留 ip ,clash 的工作模式之一
2022-04-13 16:15:36 +08:00
回复了 rv54ntjwfm3ug8 创建的主题 程序员 我的这个 API 设计有什么缺陷/有什么优化空间吗?
因为 http 非 200 在某些语言中(至少我写的语言不能或者说没有人教怎么携带 message ),所以我们都是 200 然后业务 code (自定义,阿里巴巴规范成功是 00000 ),也有一种说法,可预见,可处理都是 200 其他是 http 状态码不可预见的
2022-04-09 02:20:58 +08:00
回复了 7911364440 创建的主题 程序员 maven 依赖的问题
@Edsie 之前有想过做 redis 的 config 的 starter(因为通常都需要 json 的序列化),然后发现写起来和使用都不太会,甚至不知道能不能发到中央仓库。就搁置了
2022-04-09 02:17:39 +08:00
回复了 jianglai 创建的主题 Android 国产安卓系统是不是都不内置 FCM?
用的 color 没有 FCM 是个残缺般的 gsm 所以刷了氧 不然微软的二次验证提示没有 FCM 都打不开
不知道图片存储多久
@seakingii 只要不写 sun 包的东西,要用可以 maven 导入可解决,比如 easyexcel ,oprnjdk 缺少字体
还在 1.8 应该也没影响
之前我上交只有 200k ,所以现在首选阿里云华为云,然后中科大
2022-04-02 14:31:40 +08:00
回复了 coolair 创建的主题 问与答 Sprint Boot 一定要写 SQL 吗?
@coolair 代码生成,然后增删改查用一个实体,然后前端 vo ,bo ,dto 的
我自己也有,上 v2 的都有几个吧,我都分 https 列表和没进入的
2022-03-30 13:46:54 +08:00
回复了 asd7160 创建的主题 Java jdk9 出现比 log4j 更大的漏洞
@chendy 正解, 有些其他优势是取舍达到的。 其他可能只是填补空缺,有很多三角形理论,只能保证两点,想三点全占不可能
2022-03-30 13:45:09 +08:00
回复了 asd7160 创建的主题 Java jdk9 出现比 log4j 更大的漏洞
@kran 用户的需求显然是简单更好,而且 java 语言,性能已经不敏感了->
知乎的评论
a:
我们公司的开发框架就是用的这个,但是做很多变动,比如 inject 注解换成了 javax 的,自动扫描 bean ,不用手动标记 singleton ,还没看懂源码是怎么做到的
b:
建议定制的事别搞,不要去学 spring 的 autoscan ,用原生的就挺好了
2022-03-30 13:42:54 +08:00
回复了 asd7160 创建的主题 Java jdk9 出现比 log4j 更大的漏洞
@kran guice demo 首先来配置依赖关系。我们继承 AbstractModule 类,并重写 configure 方法即可。在 configure 方法中,我们可以调用 AbstractModule 类提供的一些方法来配置依赖关系。最常用的方式就是 bind(接口或父类).to(实现类或子类)的方式来设置依赖关系。
一个项目,几百类,都要一一绑定吗
2022-03-30 13:40:13 +08:00
回复了 asd7160 创建的主题 Java jdk9 出现比 log4j 更大的漏洞
@kran 例如 redis
官方默认是可用,但是用户想用 json 可视化
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(RedisOperations.class)
@EnableConfigurationProperties(RedisProperties.class)
@Import({ LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class })
public class RedisAutoConfiguration {

@Bean
@ConditionalOnMissingBean(name = "redisTemplate")
@ConditionalOnSingleCandidate(RedisConnectionFactory.class)
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<Object, Object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
return template;
}

@Bean
@ConditionalOnMissingBean
@ConditionalOnSingleCandidate(RedisConnectionFactory.class)
public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) {
return new StringRedisTemplate(redisConnectionFactory);
}

}

然后用户配置
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
RedisSerializer<Object> redisSerializer = getRedisSerializer();
redisTemplate.setKeySerializer(stringRedisSerializer);
redisTemplate.setValueSerializer(redisSerializer);
redisTemplate.setHashKeySerializer(stringRedisSerializer);
redisTemplate.setHashValueSerializer(redisSerializer);
redisTemplate.setDefaultSerializer(redisSerializer);
redisTemplate.afterPropertiesSet();
return redisTemplate;
}

@Bean
public RedisSerializer<Object> getRedisSerializer() {
Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL);
/*
* 支持 JDK8 LocalDateTime
*/
om.registerModule(new Jdk8Module())
.registerModule(new JavaTimeModule())
.registerModule(new ParameterNamesModule());
serializer.setObjectMapper(om);
return serializer;
}
自己的自定义去覆盖。
2022-03-30 13:35:51 +08:00
回复了 asd7160 创建的主题 Java jdk9 出现比 log4j 更大的漏洞
@kran 我可以通过规范了解到 spring 的都是 springl 开头,然后都有代码提示,然后也可以点击跳转对应的 Properties 例如 RocketMQProperties
/**
* The name server for rocketMQ, formats: `host:port;host:port`.
*/
private String nameServer;

/**
* Enum type for accessChannel, values: LOCAL, CLOUD
*/
private String accessChannel;

private Producer producer;
对应名字和注释挺简单的,如果是需要 new 就强耦合了,多数据源多种数据库也会麻烦。
@bean 去注解大部分是为了自定义,SpringBoot 的 starter 默认是可用的(三方做的不一定),为了项目的需求进行一定的替换定制化,如果该类用户代码写了注入容器,Spring 就会取消自己的装配
2022-03-30 13:31:51 +08:00
回复了 asd7160 创建的主题 Java jdk9 出现比 log4j 更大的漏洞
@kran DI 肯定是要知道使用的对象和需要注入的对象全类名,构造函数和 setter 方法,如果 IOC 不扫包,这些都是手动配置, 库有自动装配吗。 你是指 SpringBoot 的 starter 吗
2022-03-30 13:30:35 +08:00
回复了 asd7160 创建的主题 Java jdk9 出现比 log4j 更大的漏洞
@kran spring-framework 是不扫包的,但是你要声明每一个你要用的 bean ,SpringBoot 简化配置,通过扫描的方式,省略繁琐的配置。 一个项目你要用的 100 个类,你要配置 100 个甚至更多的 bean 标签,折磨啊
2022-03-30 13:04:41 +08:00
回复了 asd7160 创建的主题 Java jdk9 出现比 log4j 更大的漏洞
@kran 外化到配置不理解
2022-03-30 13:04:08 +08:00
回复了 asd7160 创建的主题 Java jdk9 出现比 log4j 更大的漏洞
@kran 如果在 a 类用 b 类的非静态方法你要 new 然而用 spring 后不需要 new 交由 speingioc 管理,而且面向接口直接声明接口即可
1 ... 28  29  30  31  32  33  34  35  36  37 ... 40  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2807 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 07:36 · PVG 15:36 · LAX 23:36 · JFK 02:36
Developed with CodeLauncher
♥ Do have faith in what you're doing.