bean1.xml:
<?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">
<context:component-scan base-package=“com.Keafmd”></context:component-scan>
==================================================================
需求:我们通过注解的方式在UserService调用UserDaoImpl的方法。
**第一步:把service和dao对象创建,在service和dao类添加创建对象的注解。
第二步:在service注入dao对象。**
UserDao接口:
package com.Keafmd.spring5.dao;
/**
-
Keafmd
-
@ClassName: UserDao
-
@Description:
-
@author: 牛哄哄的柯南
-
@date: 2021-01-17 15:39
*/
public interface UserDao {
public void add();
}
UserDaoImpl实现类:
package com.Keafmd.spring5.dao;
import org.springframework.stereotype.Repository;
/**
-
Keafmd
-
@ClassName: UserDaoImpl
-
@Description:
-
@author: 牛哄哄的柯南
-
@date: 2021-01-17 15:39
*/
@Repository(“userDaoImpl01”)
public class UserDaoImpl implements UserDao{
@Override
public void add() {
System.out.println(“dao add …”);
}
}
UserService类:
package com.Keafmd.spring5.service;
import com.Keafmd.spring5.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
-
Keafmd
-
@ClassName: UserService
-
@Description:
-
@author: 牛哄哄的柯南
-
@date: 2021-01-17 13:15
*/
//在注解里的value值可以不写,默认就是类的首字母小写 userService
// @Component(value = “userService”) //
@Service
public class UserService {
//定义dao类型属性 ,不需要添加set方法了
//添加注入属性的注解
/* @Autowired
@Qualifier(value = “userDaoImpl01”) // 要和@AutoWired一起使用 ,填写value值是为了解决有多个实现类,根据类型的话就没法区分
private UserDao userDao;*/
// @Resource //根据类型注入
@Resource(name = “userDaoImpl01”) // 根据名称注入
private UserDao userDao;
public void add(){
System.out.println(“service add…”);
userDao.add();
}
}
测试类:
package com.Keafmd.spring5.testdemo;
import com.Keafmd.spring5.service.UserService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
-
Keafmd
-
@ClassName: TestSpring5Demo1
-
@Description: 测试类
-
@author: 牛哄哄的柯南
-
@date: 2021-01-17 13:03
*/
public class TestSpring5Demo1 {
@Test
public void testService(){
ApplicationContext context = new ClassPathXmlApplicationContext(“bean1.xml”);
UserService userService = context.getBean(“userService”,UserService.class);
System.out.println(userService);
userService.add();
}
}
测试结果:
com.Keafmd.spring5.service.UserService@7ea37dbf
service add…
dao add …
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数同学面临毕业设计项目选题时,很多人都会感到无从下手,尤其是对于计算机专业的学生来说,选择一个合适的题目尤为重要。因为毕业设计不仅是我们在大学四年学习的一个总结,更是展示自己能力的重要机会。
因此收集整理了一份《2024年计算机毕业设计项目大全》,初衷也很简单,就是希望能够帮助提高效率,同时减轻大家的负担。
既有Java、Web、PHP、也有C、小程序、Python等项目供你选择,真正体系化!
由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频
如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)
[外链图片转存中…(img-nnVJ39qu-1712536466273)]
[外链图片转存中…(img-aQ6V4TZd-1712536466274)]
[外链图片转存中…(img-HCTyTpGR-1712536466274)]
既有Java、Web、PHP、也有C、小程序、Python等项目供你选择,真正体系化!
由于项目比较多,这里只是将部分目录截图出来,每个节点里面都包含素材文档、项目源码、讲解视频
如果你觉得这些内容对你有帮助,可以添加VX:vip1024c (备注项目大全获取)
[外链图片转存中…(img-O7HmA0TS-1712536466274)]