本文共 2721 字,大约阅读时间需要 9 分钟。
依赖注入DI:它是spring框架核心ioc的具体实现。在编写程序时候,通过控制反转,把对象的创建交给spring容器中。ioc的解耦知识降低他们之间的依赖关系,但不会消除,如业务层调用持久层。
1.set方法的注入:
首先,需要引入p命名空间: xmlns:p="http://www.springframework.org/schema/p"
其次,需要注入方式:
2.dao层
package com.ljf.spring.demo.ioc.dao;public interface UserDao { //添加数据 public int addUser();}
package com.ljf.spring.demo.ioc.dao.impl;import com.ljf.spring.demo.ioc.dao.UserDao;/** * @ClassName: UserDaoImpl * @Description: TODO * @Author: liujianfu * @Date: 2021/01/01 19:27:19 * @Version: V1.0 **/public class UserDaoImpl implements UserDao { public UserDaoImpl(){ System.out.println("无参构造函数..."); } public int addUser() { System.out.println("add user success!!!!"); return 0; }}
3.service
package com.ljf.spring.demo.ioc.service;public interface UserService { //添加数据 public int addUser();}
package com.ljf.spring.demo.ioc.service.impl;import com.ljf.spring.demo.ioc.dao.UserDao;import com.ljf.spring.demo.ioc.service.UserService;/** * @ClassName: UserServiceImpl * @Description: TODO * @Author: liujianfu * @Date: 2021/01/03 11:19:57 * @Version: V1.0 **/public class UserServiceImpl implements UserService { private UserDao ud; public void setUd(UserDao ud) { this.ud = ud; } public int addUser() { return ud.addUser(); }}
引入命名空间:
配置bean标签调用:
4.调用
1.dao层:
package com.ljf.spring.demo.ioc.dao;public interface UserDao { //添加数据 public int addUser();}
package com.ljf.spring.demo.ioc.dao.impl;import com.ljf.spring.demo.ioc.dao.UserDao;/** * @ClassName: UserDaoImpl * @Description: TODO * @Author: liujianfu * @Date: 2021/01/01 19:27:19 * @Version: V1.0 **/public class UserDaoImpl implements UserDao { public UserDaoImpl(){ System.out.println("无参构造函数..."); } public int addUser() { System.out.println("add user success!!!!"); return 0; }}
2.service层
package com.ljf.spring.demo.ioc.service;public interface UserService { //添加数据 public int addUser();}
package com.ljf.spring.demo.ioc.service.impl;import com.ljf.spring.demo.ioc.dao.UserDao;import com.ljf.spring.demo.ioc.service.UserService;/** * @ClassName: UserServiceImpl * @Description: TODO * @Author: liujianfu * @Date: 2021/01/03 11:19:57 * @Version: V1.0 **/public class UserServiceImpl implements UserService { private UserDao ud; //有参数构造函数 public UserServiceImpl(UserDao ud) { this.ud = ud; } //无参构造函数 public UserServiceImpl() { } /** public void setUd(UserDao ud) { this.ud = ud; } **/ public int addUser() { return ud.addUser(); }}
3.配置文件
4.调用:
转载地址:http://feuzz.baihongyu.com/