一:首先是环境的准备工作
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();
}
四:配置文件和注解混合使用
创建对象的方式用配置文件来实现,注入属性的操作使用注解方法