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

原创 2018年04月17日 10:47:58

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

        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();
    }

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

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


Spring属性注入

  • 2014年04月12日 22:25
  • 10KB
  • 下载

Spring高级注入之属性值注入

实际应用中,某个实例的属性可能是另一个对象的一个属性,Spring支持将bean实例的属性值直接赋值给一个变量属性值的注入,是通过PropertyPathFactoryBean完成的,Property...
  • daryl715
  • daryl715
  • 2007-03-27 16:31:00
  • 7483

Spring注入static属性的方法

很简单,将对应setter的static的关键词去掉即可.
  • lc0817
  • lc0817
  • 2015-07-25 00:17:53
  • 1588

[4]Spring以注解的方式进行Bean的实例化和属性注入

在进行Spring开发时所需要的基础jar包有:当需要在Spring中使用注解的时候,还需要导入在配置文件中引入新的约束: ...
  • qq_19560943
  • qq_19560943
  • 2017-06-23 14:33:34
  • 5458

Spring中属性注入的几种方式以及复杂属性的注入

在Spring框架中,属性的注入我们有多种方式,我们可以通过构造方法注入,可以通过set方法注入,也可以通过p名称空间注入,方式多种多样,对于复杂的数据类型比如对象、数组、List集合、map集合、P...
  • u012702547
  • u012702547
  • 2017-03-12 14:51:33
  • 4786

spring的属性注入和构造器注入

spring在向IOC容器中注入Bean的时候,有三种注入方式: 属性注入 构造器注入 工厂方法注入 平常中用到的前两种方法较多,下面对前两种方法举例。 一、属性注入1、创建一个car类,作为注入的...
  • u010502101
  • u010502101
  • 2017-11-19 22:19:12
  • 306

Spring基础之属性注入总结

spring是开源的轻量级框架,核心主要两部分: (1)aop:面向切面编程,扩展功能不是修改源代码实现 (2)ioc:控制反转, - 比如有一个类,在类里面有方法(不是静态的方法),调用类里面...
  • qq_25827845
  • qq_25827845
  • 2016-12-26 20:04:36
  • 4479

Spring三种注入属性的方式

Spring三种方法注入属性 1.        准备工作: 1)        新建Dao包,Service包 2)        在每个包内新建对应的接口,以及impl包 Us...
  • qq_28174471
  • qq_28174471
  • 2016-09-05 18:25:52
  • 2003

Spring依赖注入 — 集合属性配置

对于数组、java.util.List、java.util.Set、java.util.Map等集合对象,在注入前必须填充入一些对象至集合中,然后再将集合对象注入至所需的Bean,也可以交由Sprin...
  • u012045597
  • u012045597
  • 2013-10-18 14:48:15
  • 4332

Spring对象属性注入

注入--对象属性赋值 一:基础数据的set注入 1)实体类User public class User { private int age; private String user...
  • niuniu20008
  • niuniu20008
  • 2013-10-10 11:04:18
  • 7954
收藏助手
不良信息举报
您举报文章:spring中的属性注入(注解方式注入)
举报原因:
原因补充:

(最多只允许输入30个字)