本文来自于摘抄总结
1、@Override重写父类方法
如果想重写父类的方法,比如toString()方法的话,在方法前面加上@Override 系统可以帮你检查方法的正确性,@Overridepublic String toString(){...}这是正确的一旦写错 写成这样@Overridepublic String tostring(){...}编译器可以检测出这种写法是错误的 这样能保证你的确重写的方法正确而如果不加@Overridepublic String tostring(){...}这样编译器是不会报错的 它只会认为这是你自己新加的一个方法而已
2、@Configuration
用@Configuration注解的类,等价于xml中配置beans
3、@Bean
用@Bean标注方法等价于XML中配置的bean
4、@Autowired进行自动注入
SPRing通过@Autowired注解Bean的依赖注入,@Autowired注入式按照类型注入的,只要配置文件中的bean类型需要和bean类型是一致的,这时候注入就没有问题。但是如果相同类型的bean不止一个,此时注入就会出现问题,Spring容器就无法启动
5、@Resource按照bean的名字来进行注入
如果我们没有使用@Resource时指定bean的名字,同时Spring容器中又没有该名字的bean,这时候@Resource就会退化成@Autowired即按照类型注入,这样就有可能违背使用@Resource的初衷。所以建议在使用@Resource时都显示指定一下bean的名字@Resource(name="xxx")
6、@Primary优先选择
在Spring中使用注解,常使用@Autowired,默认是根据类型Type来自动注入的。但有些特殊情况,对同一个接口,可能有几种不同的实现类,而默认只采取其中一种的情况下@Primary的作用就出来了。
7、@Qualifier调整基于注解的字哦那个注入
在基于类型的自动注入中,若出现了多个实例Bean,@Primary是一个高效的方式来决定注入那个示例。若想在选择Bean的过程中拥有更多的控制,可以使用Spring的@Qualifier注解。可以在指定参数上使用@Qualifier,可以缩小类型匹配的范围,更容易找到指定的Bean.例如@Qualifier("main")。
8、@Transactional
在Spring中@Tansactional提供一种控制事务管理的快捷手段。基于动态代理的机制,提供了一种透明的事务管理机制,方便的解决在开发中碰到的问题。
9、Spring Boot
Spring Boot 是 Spring 产品中一个新的子项目,致力于简便快捷地搭建基于 Spring 的独立可运行的应用。大多数的 Spring Boot 应用只需要非常少的 Spring 配置。
10、YAML语言
YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便。
11、jetty
Jetty是一个提供HHTP服务器、HTTP客户端和javax.servlet容器的开源项目。
12、OAuth
OAuth 是一种分布式身份验证和授权的开放标准。它于 2006 年由 Twitter 和业务合作伙伴 Ma.gnolia 开发,用来方便地创建一些桌面小部件,这些小部件可以显示来自已身份验证服务的信息。您不再需要编写算法来执行强密码,或者处理忘记密码的问题,或者强制用户定期更改其密码。
13、Grails中的mvc
Grails 是一个遵循 MVC 设计模式的 Web 开发框架。它分别用 Domain Class、View、Controller 对应于 MVC 的模型、视图和控制器。可以简单的把一个 Domain Class 理解为数据库中的一张表,Grails 在底层通过 Hibernate 将 Domain Class 和数据库的表进行了映射。View 在 Grails 中指的是 GSP 页面(注意是 GSP 不是 jsp),它用于显示用户界面。GSP 与 JSP 类似,既可以编写静态网页的元素,也可以嵌入 Groovy 代码实现动态内容。Controller 在 Grails 中充当着重要的角色:它可以响应用户的请求,可以接收用户提交的表单,还可以访问模型的数据,并传递给 View。
14、Hibernate
工作原理:
(1)读取并解析配置文件 。(2)读取并解析映射信息,创建sessionFactory。(3)打开Session 。(4)创建事务Transation 。(5)持久化操作 。(6)提交事务 。(7)关闭Session 。(8)关闭SesstionFactory 。
优势:
(1)对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。(2) Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现,很大程度的简化DAO层的编码工作 。(3)Hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。(4)Hibernate的性能非常好,因为它是个轻量级框架,映射的灵活性很出色,它支持各种关系数据库,从一对一到多对多的各种复杂关系。
15、MVC
Controller截获用户通过鼠标或键盘发出的请求,然后改变Model的状态,Model通过Observer Synchronization(观察者模式)通知View自己的状态发生了变化。View查询Model展现数据。
16、从一台到另外一台服务器
ssh spiderdt@192.168.1.3
然后 docker ps显示哪些运行在docker上面
17、压缩和解压
压缩:
tar -cvf destination.tar.gz source
destination.tar.gz为目标压缩文件
source为源文件或源文件夹
解压:
tar -xvf cache-api.tar.gz
18、重要命令记录
grails
create-app cache-api 创建app
run-app -port=2222部署到2222端口
create-controller applicationController 创建controller
create-service PsqlService 创建service
create-domain-class cache 创建domain
19、IntelliJ IDEA的优化导包设置路径
Settings
| Editor
| General
| Auto Import
and Optimize imports option in the Commit Project
dialog.勾选后会自动删除不要的import
20、查看cpu和内存
cat /proc/cpuinfo 查看cpu
free -m 查看内存
21、grails删除
使用grails常见生成代码如上,生成是能生成,但是怎么删除呢?使用grails help查看发现也没有delete或者remove代码。网上查了一下,没有自动删除的代码,只能手动删除,拿grails create-domain-class Race这一句为例,仅仅需要删除racetrack/test/unit/racetrack/RaceTests.groovy和racetrack/grails-app/domain/racetrack/Race.groovy
22、linux查看目录结构
tree命令
23、vi是vim的升级版
24、vi基本操作:
:set nu 显示行数
u 撤销
5dd 删除5行
一些常用命令案例:1.删除指定的某些行命令:(命令行命令模式)m,nd释义:m是从第m行开始;n是从第n行开始;d是删除操作。之后回车即可。例子:删除m到n之间的行数step1:(命令行命令模式):m,nd——输入从第m行到当前位置的删除命令step2:(命令行命令模式)回车——执行删除命令2.复制指定的某些行命令:(命令行命令模式):m,ny释义:m是从第m行开始;n是从第n行开始;y是删除操作。之后回车即可。例子:复制m到n之间的行数step1:(命令行命令模式):m,ny——输入从第m行到当前位置的删除命令step2:(命令行命令模式)回车——执行复制命令3.选中指定的某些行命令:(一般模式)mGVnG释义:mG是从第m行开始;nG是直到第n行;V是进入可视模式。之后可以进行复制(y)、删除(d)操作。例子1:选中m到n之间的行数step1:(一般模式):mGVnG——输入从第m行到第n行选中例子2:全选step1:(一般模式):ggVG——全选选中4. vim多行注释/删除注释注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如"//",再按Esc,就会全部注释了。删除:先按v,进入visual模式,横向选中列的个数(如"/ /"注释符号,需要选中两列),再按Esc,再按ctrl+v 进入列编辑模式,向下或向上移动光标,选中注释部分,然后按d, 就会删除注释符号。5. 编程时自动补全成员CTRL+N/P,n是向下找,p是向前找
24、切换
ssh 192.168.1.3
25、查看docker运行程序
docker ps
26、获取config里面application.yml的配置
//Retrieve property 'foo.bar.greeting' without specifying type (default is String), otherwise use value "Hello" def greeting = grailsApplication.config.getProperty('foo.bar.greeting', "Hello")27、 @Value('${foo.bar.hello}')
In Groovy code you must use single quotes around the string for the value of the Value annotation otherwise it is interpreted as a GString not a Spring expression.
新闻热点
疑难解答