想深入的学习springside,并且由于项目的需要,和在项目中深切体会到大量的<bean/>标签的繁琐。故学习起spring的注解。
一句话:对开发人员来说:最常用的Spring2.5最常用的注解就4个:
@Resource @Qualifier @Service @Repository
由于项目中用到的是spring
2.5,和原来的spring2.0配置多少是有点出入的。
步骤:
1.导包。
将spring.jar 和 common-logging.jar。就两个包?对,就两个包。对于spring2.0不推荐用的标注,如@Autowired,@Component 咱就不用了,直接用推荐的。
3.建工程。为了测试@Repository 和@Service标签,我按以下结构建包。
src|---entity|---User.java
|--service|--UserServiceIf.java
|--impl--|
--UserServiceImpl.java
|--dao----|--UserDaoIf.java
|--impl--|
---UserDaoImpl.java
Class:User.java
package com.fun.entity;
import org.apache.commons.lang.builder.ToStringBuilder;
public class User {
private Long id;
private String name;
private String password;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public User(){}
public String toString(){
return ToStringBuilder.reflectionToString(this);//需要加common-lang.jar
}
Class:UserServiceIf.java
package com.fun.service;
public interface UserServiceIf<User,Serializable>
{
public void register(User
user);
}
Class:UserServiceImpl.java
package
com.fun.service.impl;
import
javax.annotation.Resource;
import
org.springframework.beans.factory.annotation.Qualifier;
import
org.springframework.stereotype.Service;
import
com.fun.dao.UserDao;
import
com.fun.entity.User;
import
com.fun.service.UserService;
@Service("userService")
public
class UserServiceImpl implements UserService<User,Long> {
private
UserDao<User,Long> userDao;
public
void register(User user) {
userDao.save(user);
}
public
UserDao<User,Long> getUserDao() {
return
userDao;
}
@Resource
public
void setUserDao(UserDao<User,Long> userDao) {
this.userDao
= userDao;
}
}
Class:UserDaoIf.java
package com.fun.dao;
public interface UserDaoIf<User,Serializable
> {
public void save(User
user);
}
Class:UserDaoImpl.java
package
com.fun.dao.impl;
import
java.io.Serializable;
import
org.springframework.stereotype.Repository;
import
org.springframework.util.Assert;