基于Java的注解,是在类级别上定义beans,在方法级别上定义bean。和自动注解一样,可以减少xml的配置。
在xml配置文件中添加自动扫描的配置:
<context:component-scan base-package="org.yousharp"/>
该配置不仅扫描构造型注解(@Controller, @Service, @Repository, @Component),也会扫描@Configuration注解。
dao类是service类的一个属性,是需要注入的对象。
dao类和service类就是两个很普通的java类,没有任何注解依附。
启用注解装配,在xml配置文件里添加:
<context:annotation-config/>
启用自动扫描注解,在xml配置文件里添加:
<context:component-scan base-package="org.yousharp.base"/>
二者的区别:
自动装配表示通过@Autowired, @Inject, @Resource等实现对属性或构造函数的自动注入;仍然需要在配置文件里定义bean,只是通过自动装配省去了property
和constructor-arg
的配置。
自动检测是扫描特定的注解(包括:@Component, @Controller, @Service, @Repository),将注解过的类自动定义为bean,自动检测是自动装配的超集,通过自动检测,可以省去在xml配置文件里定义bean
了。
因为项目中一直要用到Spring相关的知识,所以最近在看Spring实战这本书,希望对Spring有一个整理的了解和把握。不得不说,这是一本好书,中文译本也不错。这个系列,记录自己关于Spring的笔记和理解,一是加深理解,同时也希望对别人有所帮助。
定义带参数的构造函数,使依赖对象作为构造函数的参数:
windows上有许多优秀的远程登陆工具,mRemoteNG是其中一个,本人在尝试使用
‘ssh root@192.168.x.x’
时,得到错误信息
Permission denied
,
可以确认的是ubuntu上端口已开,因为使用
ssh oukongli@192.168.x.x
是没有问题的。
经过一番摸索,原来是ubuntu在默认情况下关闭了root用户的登陆,解决方法为:
在/etc/ssh/sshd_config
中,
把PermitRootLogin without-password
改为PermitRootLogin yes
。