Spring-003-bean管理(注解)

  1. 代码里面的一些特殊的标记,使用注解可以完成特定的功能
  2. 注解写法 @注解名称(属性名称=属性值)
  3. 注解使用在类上面,方法上面和属性上面

能够替代配置文件 但是不能完全替代

  • 注解开发准备
  1. 导入jar包 spring最基本的jar包
  2. 导入aop的jar包
  3. 创建类,创建方法
  4. 创建spring配置文件,引入约束
     
    
    
    
  5. 开启注解扫描

          
        
        

-- 注解创建对象

在类上加注解  
@Component(value="user") //相当于
public void testUser(){
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        User user = (User)context.getBean("user");
        System.out.println(user);
        user.add();
    }

创建对象有四个注解

  1. @Component
  2. @Controller Web层
  3. @Service 业务层
  4. @Repository 持久层
    目前这四个注解功能都是一样的,都创建对象不过是为了后续版本做扩展

可以设置创建对象我单实例还是多实例

@Scope("value=prototype") //设置为多实例

--注解注入属性

  1. 创建一个Service类,创建dao类,在service里得到dao对象
@Service(value="userService")
public class UserService {  
@Component(value="userDao")
public class UserDao {

在Service类里面定义一个Dao类的属性
注入属性的第一个注解 @Autowired 自动注入

public class UserService {  
    //在dao属性上面使用注解 完成对象注入
    @Autowired
    private UserDao userDao;
    //使用注解方式不需要set方法
    public void add(){
        System.out.println("service...");
        userDao.add();
    }
} 

注入属性的第二个注解 @Resource(name="") 推荐用这个 因为指定好了

@Resource(name="userDao") //name里面写注解方式创建的dao对象的value
    private UserDao userDao;

-配置文件和注解混合使用

  1. 创建对象操作实用配置文件方式实现
  2. 注入属性的操作使用注解方式实现
//创建对象  
    
           
        
        
        
        
        

//注入属性
    @Resource(name="bookDao")
    private BookDao bookdao;
    @Resource(name="ordersDao")
    private OrdersDao ordersdao; 

你可能感兴趣的:(Spring-003-bean管理(注解))