1 package SpringAnnotation;
2
3 import org.springframework.stereotype.Component;
4
5 @Component("testObject")
6 public class TestObject {
7
8 }
1 package SpringAnnotation.service;
2
3 import SpringAnnotation.repository.UserRepository;
4 import org.springframework.beans.factory.annotation.Autowired;
5 import org.springframework.stereotype.Service;
6
7 @Service("userService")
8 public class UserService {
9 @Autowired
10 private UserRepository userRepository;
11
12 public void add() {
13 System.out.println("UserService add....");
14 userRepository.save();
15 }
16
17 }
1 package SpringAnnotation.repository;
2
3 public interface UserRepository {
4 public void save();
5 }
1 package SpringAnnotation.repository;
2
3 import org.springframework.stereotype.Repository;
4
5 @Repository("userRepository")
6
7 public class UserRepositoryImp implements UserRepository {
8 @Override
9 public void save() {
10 System.out.println("UserRepository save.....");
11 }
12 }
1 package SpringAnnotation.Controller;
2
3 import SpringAnnotation.service.UserService;
4 import org.springframework.beans.factory.annotation.Autowired;
5 import org.springframework.stereotype.Controller;
6
7 @Controller("userController")
8 public class UserController {
9 @Autowired
10 UserService userService;
11
12 public void extute(){
13 System.out.println("UserController extute....");
14 userService.add();
15 }
16
17 }
1 package SpringAnnotation;
2
3 import SpringAnnotation.Controller.UserController;
4 import SpringAnnotation.repository.UserRepository;
5 import SpringAnnotation.service.UserService;
6 import org.springframework.context.ApplicationContext;
7 import org.springframework.context.support.ClassPathXmlApplicationContext;
8
9 public class Main {
10 public static void main(String[] args) {
11 ApplicationContext ctx = new ClassPathXmlApplicationContext("SpringAnnotation/beans-annotation.xml");
12 /* TestObject testObject=(TestObject) ctx.getBean("testObject");
13 System.out.println(testObject);*/
14
15 /* UserRepository userRepository=(UserRepository) ctx.getBean("userRepository");
16 System.out.println(userRepository);*/
17
18 UserController userController = (UserController) ctx.getBean("userController");
19 System.out.println(userController);
20 userController.extute();
21 /*
22 UserService userService=(UserService) ctx.getBean("userService");
23 System.out.println(userService);*/
24
25 }
26 }
1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:context="http://www.springframework.org/schema/context"
5 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">
6
7
8 <!--制定IOC容器扫描的类-->
9 <!--resource-pattern可进行范围限制-->
10 <!--context:exclude-filter子节点指定排除哪些指定表达式的组件-->
11 <!--<context:include-filter 表示只包含表达式的组件,需要配置use-default-filters=false-->
12 <!--type:assignable 是用类名进行追踪来处理后面expression的内容-->
13 <context:component-scan
14 base-package="SpringAnnotation"
15 >
16 </context:component-scan>
17
18 </beans>