1、Spring项目中@Autowired 与@Resource的区别?
1、@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。
2、@Autowired默认是byType装配(这个注解是属业spring的)
3、@Resource默认是byName装配(这个注解是属于J2EE的)
2、在java中读取项目资源时,路径加“/”与不加的区别?
加“/”表示从classpath开始查找,不加“/”表示从当前类包下开始查找。
3、如何修改已部署jar包中application.yml配置文件中的配置参数?
在jar包同级目录下,添加application.yml文件,该文件会覆盖jar包内application.yml的配置。
4、Spring注解@controller、@service、@component、@repository区别?
几个注解本质上没有什么区别
@Repository:持久层,用于标注数据访问组件,即DAO组件。
@Service:业务层,用于标注业务逻辑层主键。
@Controller:控制层,用于标注控制层组件。
@Component:当你不确定是属于哪一层的时候使用
5、Linux常用操作命令有哪里?
【find】查找文件
【free】查看内存
【top】查看cpu
【ps】查看进程
【scp】远程拷贝
6、mybatis中#{}和${}的区别是什么?
#{}是预编译处理,${}是字符串替换。
Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;
Mybatis在处理${}时,就是把${}替换成变量的值。
使用#{}可以有效的防止SQL注入,提高系统安全性。
7、通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,Dao接口里的方法,参数不同时,方法能重载吗?
Mapper接口里的方法,是不能重载的,因为是使用 全限名+方法名 的保存和寻找策略。
在mapper中如何传递多个参数?
(1)第一种:
Public UserselectUser(String name,String area);
//对应的xml,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数
(2)第二种:
使用 @param 注解:
public interface usermapper {
user selectuser(
@param(“username”) string username,
@param(“hashedpassword”) string hashedpassword
);
}
(3)第三种:多个参数封装成map或实体对象
8、Mybatis有哪些动态sql标签?
trim | where | set | foreach | if | choose | when | otherwise | bind
cron表达式?
Cron表达式的格式:秒 分 时 日 月 周 年(可选)。
* :代表所有可能的值。因此,“*”在Month中表示每个月,在Day-of-Month中表示每天,在Hours表示每小时
- :表示指定范围。
, :表示列出枚举值。例如:在Minutes子表达式中,“5,20”表示在5分钟和20分钟触发。
/ :被用于指定增量。例如:在Minutes子表达式中,“0/15”表示从0分钟开始,每15分钟执行一次。
"3/20"表示从第三分钟开始,每20分钟执行一次。和"3,23,43"(表示第3,23,43分钟触发)的含义一样。