博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Bean的装配方式
阅读量:6873 次
发布时间:2019-06-26

本文共 3433 字,大约阅读时间需要 11 分钟。

一、基于XML的装配

(1)构造注入方式装配

    User类:

public class User {    private String username;    private Integer password;    private List
list; public User(){ } public User(String username, Integer password, List
list) { this.username = username; this.password = password; this.list = list; } @Override public String toString() { return "User{" + "username='" + username + '\'' + ", password=" + password + ", list=" + list + '}'; }}

      Test类:

public class Test {    public static void main(String[] args) {        ApplicationContext context = new ClassPathXmlApplicationContext("com/chauncey/ioc/beans.xml");        User user = (User) context.getBean("userOne");        System.out.println(user);    }}

    beans.xml:

"我是构造注入方式"
"我是构造注入方式"

       运行结果:

 

(2)设值注入方式装配

    User类:

public class User {    private String username;    private Integer password;    private List
list; public User(){ } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Integer getPassword() { return password; } public void setPassword(Integer password) { this.password = password; } public List
getList() { return list; } public void setList(List
list) { this.list = list; } @Override public String toString() { return "User{" + "username='" + username + '\'' + ", password=" + password + ", list=" + list + '}'; }}

    beans.xml:

"我是设值注入方式"
"我是设值注入方式"

        运行结果:

 

二、基于注解

   创建UserDao接口和UserService接口,在两个中添加save方法,创建两个接口的实现类UserDaoImpl和UserServiceImpl

   UserDaoImpl接口:

@Repository("userDao")public class UserDaoImpl implements UserDao {    @Override    public void save() {        System.out.println("UserDao...Save...");    }}

   UserServiceImpl:

@Service("userService")public class UserServiceImpl implements UserService {    @Resource(name = "userDao")    private UserDao userDao;    @Override    public void save() {        userDao.save();        System.out.println("UserService...Save...");    }}

        UserController:

@Controller("userController")public class UserController {    @Resource(name = "userService")    private UserService userService;    public void save() {        userService.save();        System.out.println("Controller...Save...");    }}

       Test类:

public class Test {    public static void main(String[] args) {        ApplicationContext context = new ClassPathXmlApplicationContext("com/chauncey/user/bean.xml");        UserController controller = (UserController) context.getBean("userController");        controller.save();    }}

  bean.xml:

       运行结果:

 

三、自动装配

   以注解的案例,在UserServiceImpl中添加setUserDao方法,在UserController中添加setUserService方法

   bean.xml:

 

转载于:https://www.cnblogs.com/chaunceyji/p/10472884.html

你可能感兴趣的文章
[Head First设计模式]山西面馆中的设计模式——装饰者模式
查看>>
Counting Kangaroos is Fun 求最少可见袋鼠数
查看>>
SQL Access Advisor in Oracle Database 10g
查看>>
又想起Solaris
查看>>
我与前端的二三事
查看>>
Django REST framework+Vue 打造生鲜电商项目(笔记三)
查看>>
51nod加农炮
查看>>
HTML5 学习笔记一(语义化标签、表单)
查看>>
旅游出境登机入住饭店英语
查看>>
Springboot整合mybatis
查看>>
Java面试题集(1-50)
查看>>
Android 常用工具类之 DimenUtil
查看>>
[Noi2016]国王饮水记
查看>>
【AndroidFramework】ATV9遥控器红外模式下,机顶盒在假待机阶段会响应遥控器语音键...
查看>>
学习笔记之Machine Learning Crash Course | Google Developers
查看>>
11-12 元素的属性
查看>>
习题一句话题解(COJ)
查看>>
第二十天笔记
查看>>
【Gamma】测试报告
查看>>
Stanford Log-linear Part-Of-Speech Tagger标记含义
查看>>