spring中的属性注入(注解方式注入)

一:首先是环境的准备工作

        1:要导入的jar包,如果是用IEDA,那么就不需要导入jar包,在生成项目的时候就已经导入了,如果用的eclipse,那么就需要导入以下的包

    

        2:引入依赖 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd ">
</beans>

准备工作做完之后,就可以进行代码的编写了

二:注入对象

    1):首先要在配置文件中添加代码,作用是开启注解的扫描  

        <!--开启注解的扫描
            1):到包里面扫描类,方法,属性上面是否有注解
        -->
        <context:component-scan base-package="包名"></context:component-scan>

     2):

    编写一个类,使用注解的方式来进行注入,然后进行测试

            User类

@Component(value = "user")  //<bean id="user" class=""></bean>
public class User {
    public void add(){
        System.out.println("add....");
    }
}

            测试类

    @Test
    public void testUser(){
        ApplicationContext context=new ClassPathXmlApplicationContext("Annotation-config.xml");
        User user=(User)context.getBean("user");
        System.out.println(user);
        user.add();
    }

注解扫描会扫描包下面的注解,然后生成一个对象

    创建对象注解有四个注解:

    1):@Controller-->WEB层

    2):@Service -->业务层

    3):@Component

    4):@Repository -->持久层

这四个注解的功能都一样,都创建对象

  三:注入属性(例子:在Service层中调用DAO层的对象)

    注入属性有两个注解:

    1):@AutoWired

    2):@Resource

    DAO层  

@Component(value = "userdao")
public class UserDao {
    public void add(){
        System.out.println("dao....");
    }
}

   Service层

@Service(value = "userService")
public class UserService {
    //得到dao对象
   // @Autowired
    @Resource(name = "userdao")//name属性是写创建userDAO时的值
    private UserDao userDao;
    //使用注解的时候不需要使用set方法

    public void Add(){
        System.out.println("service...");
        userDao.add();
    }
}

   测试类

    @Test
    public void test(){
        ApplicationContext context=new ClassPathXmlApplicationContext("Annotation-config.xml");
        UserService userService=(UserService) context.getBean("userService");
        userService.Add();
    }

四:配置文件和注解混合使用

    创建对象的方式用配置文件来实现,注入属性的操作使用注解方法

猜你喜欢

转载自blog.csdn.net/Phoenix_tgd/article/details/79970980