Ioc注解

注解:

添加注解时,需要添加context的相关

1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans" 
3 xmlns:p="http://www.springframework.org/schema/p"
4 xmlns:context="http://www.springframework.org/schema/context" 
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
6 xsi:schemaLocation="http://www.springframework.org/schema/beans 
7 http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
8 http://www.springframework.org/schema/context 
9 http://www.springframework.org/schema/context/spring-context.xsd ">

必须添加这个注解扫描

<!-- 注解扫描 -->
<context:component-scan base-package="com.bdqn.*">
    
</context:component-scan>

如果xml中去掉setter注入和构造方法注入时,那么就会去找注解注入(注解注入的是调用无参构造方法)

如果xml中设置setter注入时,那么久会去调用setter的方法

如果xml中设置构造方法注入时,那么就会调用有参的构造方法

如果@Autowired写在private上面的话

    @Autowired
    private UserDao dao;

那么这样会先执行无参构造方法后,再执行setter方法

注意:如果要调用setter方法,就最好写在setter方法的上面

华丽的分隔符---------------------------------------------------------------------------------------------------------------------------------------------

 1 /**
 2  * 用户DAO实现类,实现UserDao接口,负责User类的持久化操作
 3  */
 4 @Repository("userDaoImpl")
 5 public class UserDaoImpl implements UserDao {
 6 
 7     public void save(User user) {
 8         // 这里并未实现完整的数据库操作,仅为说明问题
 9         System.out.println("保存用户信息到数据库");
10     }
11     
12 }
 1 /**
 2  * 用户实体类
 3  */
 4 @Component("user") 
 5 public class User{
 6     private Integer id; // 用户ID
 7     private String userName; // 用户名
 8     private String password; // 密码
 9     private String email; // 电子邮件
10 
11     // getter & setter
 1 /**
 2  * 用户业务类,实现对User功能的业务管理
 3  */
 4 @Service("userServiceImpl")
 5 public class UserServiceImpl implements UserService {
 6         
 7     
 8         @Autowired
 9         private UserDao userDao;
10 
11         public UserDao getUserDao() {
12             return userDao;
13         }
14 
15         // userDao 属性的setter访问器,会被Spring调用,实现设值注入
16         public void setUserDao(UserDao userDao) {
17             this.userDao = userDao;
18         }
19 
20         public void addNewUser(User user) {
21             // 调用用户DAO的方法保存用户信息
22             userDao.save(user);
23         }
24 
25 }

xml文件加个扫描就好

<!-- 扫描包中注解标注的类 -->
    <context:component-scan base-package="cn.bdqn.biz" />

 

posted @ 2015-10-28 15:26  夏末、初秋  阅读(205)  评论(0编辑  收藏  举报