开发笔记记录
mac快捷键
截图快捷键:Command + shift + 4
在当前窗口打开新窗口:Command + n
切换应用程序:Command + tab
打开浏览器的开发者模式:option + Command + i
刷新浏览器页面: Command + R
强制刷新浏览器页面: Command + shift + R
mac下文本编辑快捷键
移动光标到行尾:Command + 左箭头
移动光标到行首:Command + 右箭头
选中光标到行尾的文本:shift + Command + 左箭头
选中光标到行首的文本:shift + Command + 右箭头
mac下idea快捷键
全局搜索:control + shift + f
文件内搜索:Command + f
文件内替换指定字符:Command + r
springboot注解解释:
@Data: 定义在类上相当于自动为类提供读写属性(get & set), 此外还提供了 equals()、hashCode()、toString() 方法。
@NoArgsConstructor: 自动生成无参数构造函数
@AllArgsConstructor: 自动生成全参数构造函数
@Component: 将bean交给spring管理
@ConfigurationProperties(prefix = "xxx"): 将配置文件的值映射到类上使用,"xxx"为配置文件中的key
@EqualsAndHashCode(callSuper = false):
1. 此注解会生成equals(Object other) 和 hashCode()方法。
2. 它默认使用非静态,非瞬态的属性
3. 可通过参数exclude排除一些属性
4. 可通过参数of指定仅使用哪些属性
5. 它默认仅使用该类中定义的属性且不调用父类的方法
6. 可通过callSuper=true解决上一点问题。让其生成的方法中调用父类的方法。
借鉴:
@Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。
@Scope注解 作用域
@Lazy(true) 表示延迟初始化
@Service用于标注业务层组件、
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件。
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Scope用于指定scope作用域的(用在类上)
@PostConstruct用于指定初始化方法(用在方法上)
@PreDestory用于指定销毁方法(用在方法上)
@Resource 默认按名称装配,当找不到与名称匹配的bean才会按类型装配。
@DependsOn:定义Bean初始化及销毁时的顺序
@Primary:自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常
@Autowired 默认按类型装配,如果我们想使用按名称装配,可以结合@Qualifier注解一起使用
@Autowired @Qualifier(“personDaoBean”) 存在多个实例配合使用
Spring MVC新特性: 提供了对Restful风格的支持
@GetMapping,处理get请求
@PostMapping,处理post请求
@PutMapping,处理put请求
@DeleteMapping,处理delete请求
@PostMapping(value = "/user/login") 等价于 @RequestMapping(value = "/user/login",method = RequestMethod.POST)
mac 下nginx加入开机启动
通过brew install nginx
后设置开机启动项
sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons
sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
mac配置redis开机自启:
sudo vi /Library/LaunchDaemons/io.redis.redis-server.plist
- 粘贴如下代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>io.redis.redis-server</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/redis-server</string>
<string>/usr/local/etc/redis.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
- 修改上面的string标签redis-server以及conf配置文件为你的redis对应所在的位置
sudo launchctl load /Library/LaunchDaemons/io.redis.redis-server.plist
- 启动redis:
sudo launchctl start io.redis.redis-server
- 关闭redis:
sudo launchctl stop io.redis.redis-server
- 设置启动别名:
alias redisstart='sudo launchctl start io.redis.redis-server'
alias redisstop='sudo launchctl stop io.redis.redis-server'
sql优化:
查看表拥有的索引:
show index from table_name;
添加索引:
普通索引:
ALTER TABLE table_name ADD INDEX index_name (column_list);
UNIQUE索引:
ALTER TABLE table_name ADD UNIQUE (column_list);
PRIMARY KEY索引:
ALTER TABLE table_name ADD PRIMARY KEY (column_list);
删除索引:
DROP INDEX index_name ON table_name;
上面的语句等价于下面这条:
ALTER TABLE table_name DROP INDEX index_name;
删除PRIMARY KEY索引:
ALTER TABLE table_name DROP PRIMARY KEY
OR条件优化:
使用UNION ALL,例如:
select * from tb_xxx where c1 = 'xxx' OR c2 = 'xxx';
可优化为:
select * from tb_xxx where c1 = 'xxx'
UNION ALL
select * from tb_xxx where C2 = 'xxx' AND c1 <> 'xxx';
LIKE查询优化:
使用函数:LOCALTE、POSITION、INSTR
例如:
select * from tb_xxx where c1 like '%xxx%';
可优化为:
select * from tb_xxx where INSTR(c1, '%xxx%') > 0;
xml中部分特殊符号表示
1 < < 小于号
2 > > 大于号
3 & & 和
4 ' ' 单引号
5 " " 双引号