xml地图|网站地图|网站标签 [设为首页] [加入收藏]

Spring容器组建注解,Component和Resouces实现完全注解

来源:http://www.ccidsi.com 作者:集成经验 人气:104 发布时间:2019-10-09
摘要:Spring容器营造评释@Component和Resouces完结完全讲授配置,@componentresouces @Resource和@Component实现零XML配置   1、@Resource的注解:   @Resource是J2EE的讲解。意思是说在容器里面找相应的能源。

Spring容器营造评释@Component和Resouces完结完全讲授配置,@componentresouces

@Resource和@Component实现零XML配置  

1、@Resource的注解:  

@Resource是J2EE的讲解。意思是说在容器里面找相应的能源。也能够透过name属性钦点它name的财富。能够评释到田野先生也许setter上边  

public class UserAction {  

    private UserService userService;  

    @Resource(name="userService")  

    public void setUserService(UserService userService) {  

        this.userService = userService;  

    }  

    public void addUser(){  

        userService.HelloWorld();  

    }  

}  

2、@Component  

@Component和<context:component-scan base-package="com.spring"></context:component-scan>合作落成无XML配置,只经过注明配置及可将类放入财富容器中。  

案例分析:  

1、  xml文件:配置容器财富扫描的包  

<?xml version="1.0" encoding="UTF-8"?>  

<beans xmlns="";  

       xmlns:xsi="";         xmlns:context="";         xsi:schemaLocation="                                ;;      <context:annotation-config/>      <!-- 配置容器能源扫描的包 -->     <context:component-scan base-package="com.spring"></context:component-scan>  </beans>  2、  Java文件:  标明财富的笺注@Component。括号里面内定的是存入容器的name属性为userService 那么以往大家拿的时候则getBean(“userService”)就能够。假诺大家不钦赐userService它默许存入容器bean的key为user瑟维斯Impl那样就足以拿走二个装有UserServiceImpl对象的容器  

package com.spring.service;  

import org.springframework.stereotype.Component;  

import com.spring.dao.UserDao;  

@Component("userService")  

public class UserServiceImpl implements UserService{  

    private UserDao userDao;  

    public void init(){  

        System.out.println("init");  

    }  

    public void destory(){  

        System.out.println("destory");  

    }  

    public UserDao getUserDao() {  

        return userDao;  

    }  

    public void setUserDao(UserDao userDao) {  

        this.userDao = userDao;  

    }  

    public void HelloWorld(){  

        System.out.println("helloworld");  

    }  

}  

因此@Resource将财富注入进来  

因为上文已经配备了容器里面的财富。所以小编那边将财富通过@Resource注明将能源流入到相关的性格。请看代码:  

@Component("userAction")  

public class UserAction {  

    private UserService userService;  

    //它会将beans的xml文件配置参预进来  

    //也得以选择name属性钦点byName的内定  

    @Resource(name="userService")  

    public void setUserService(UserService userService) {  

        this.userService = userService;  

    }  

    public void addUser(){  

        userService.HelloWorld();  

    }  

}  

测量检验完结:  

通过上文配置的userAction案例来收获那一个目的然后调用它在那之中的艺术,因为上文通过了@ Component申明将UserAction的目的配置到了容器里面。所以获得容器事后就可以用这种措施getbean就能够  

    @Test  

    public void test01(){  

        BeanFactory applicationContext = new ClassPathXmlApplicationContext("beans.xml");  

        UserAction user = (UserAction) applicationContext.getBean("userAction");  

        user.addUser();  

    }  

@Scope和@PostConstruct、@PreDestroy  

很简单就也便是前方讲到的效率于和initmethod和destorymethod请看上面代码。不再多说:  

@Scope("Singleton")  

@Component("userService")  

public class UserServiceImpl implements UserService{  

    private UserDao userDao;  

    @PostConstruct  

    public void init(){  

        System.out.println("init");  

    }  

    @PreDestroy  

    public void destory(){  

        System.out.println("destory");  

    }  

    public UserDao getUserDao() {  

        return userDao;  

    }  

    public void setUserDao(UserDao userDao) {  

        this.userDao = userDao;  

    }  

    public void HelloWorld(){  

       System.out.println("helloworld");  

    }  

}  

@Resource和@Component实现零XML配置 1、@Resource的注解: @Resource是J2EE的注解...

@Resource和@Component实现零XML配置  

@Resource和@Component实现零XML配置  

1、@Resource的注解:  

1、@Resource的注解:  

@Resource是J2EE的评释。意思是说在容器里面找相应的能源。也得以因此name属性钦命它name的能源。能够评释到田野先生或许setter上面  

@Resource是J2EE的注释。意思是说在容器里面找相应的财富。也得以经过name属性钦赐它name的财富。能够注明到田野只怕setter上边  

public class UserAction {  

public class UserAction {  

    private UserService userService;  

    private UserService userService;  

    @Resource(name="userService")  

    @Resource(name="userService")  

    public void setUserService(UserService userService) {  

    public void setUserService(UserService userService) {  

        this.userService = userService;  

        this.userService = userService;  

    }  

    }  

    public void addUser(){  

    public void addUser(){  

        userService.HelloWorld();  

        userService.HelloWorld();  

    }  

    }  

}  

}  

2、@Component  

2、@Component  

@Component和<context:component-scan base-package="com.spring"></context:component-scan>同盟完结无XML配置,只透过申明配置及可将类归入财富容器中。  

@Component和<context:component-scan base-package="com.spring"></context:component-scan>合营达成无XML配置,只透过注脚配置及可将类放入能源容器中。  

案例剖判:  

案例剖判:  

1、  xml文件:配置容器财富扫描的包  

1、  xml文件:配置容器能源扫描的包  

<?xml version="1.0" encoding="UTF-8"?>  

<?xml version="1.0" encoding="UTF-8"?>  

<beans xmlns=";  

<beans xmlns=";  

       xmlns:xsi=";         xmlns:context=";         xsi:schemaLocation=")          )           )           );      <context:annotation-config/>      <!-- 配置容器能源扫描的包 -->     <context:component-scan base-package="com.spring"></context:component-scan>  </beans>  2、  Java文件:  标注入资金源的注释@Component。括号里面内定的是存入容器的name属性为userService 那么以后大家拿的时候则getBean(“userService”)就能够。若是大家不钦赐userService它暗许存入容器bean的key为userServiceImpl那样就足以博得二个装有User瑟维斯Impl对象的器皿  

       xmlns:xsi=";         xmlns:context=";         xsi:schemaLocation=")          )           )           );      <context:annotation-config/>      <!-- 配置容器资源扫描的包 -->     <context:component-scan base-package="com.spring"></context:component-scan>  </beans>  2、  Java文件:  标记能源的评释@Component。括号里面内定的是存入容器的name属性为userService 那么现在大家拿的时候则getBean(“userService”)就可以。若是大家不钦赐userService它私下认可存入容器bean的key为userServiceImpl那样就足以获得二个装有UserServiceImpl对象的器皿  

package com.spring.service;  

package com.spring.service;  

import org.springframework.stereotype.Component;  

import org.springframework.stereotype.Component;  

import com.spring.dao.UserDao;  

import com.spring.dao.UserDao;  

@Component("userService")  

@Component("userService")  

public class UserServiceImpl implements UserService{  

public class UserServiceImpl implements UserService{  

    private UserDao userDao;  

    private UserDao userDao;  

    public void init(){  

    public void init(){  

        System.out.println("init");  

        System.out.println("init");  

    }  

    }  

    public void destory(){  

    public void destory(){  

本文由68399皇家赌场发布于集成经验,转载请注明出处:Spring容器组建注解,Component和Resouces实现完全注解

关键词: 68399皇家赌场 所有随笔 编程语言 spring

最火资讯