您当前的位置: 首页 >  spring

星夜孤帆

暂无认证

  • 2浏览

    0关注

    626博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Spring学习-03-基于注解的依赖注入

星夜孤帆 发布时间:2019-04-28 16:38:26 ,浏览量:2

pom.xml

  4.0.0
  com.monkey1024
  02_spring
  0.0.1-SNAPSHOT
  war
  
  	UTF-8
  
  
  		
		    org.springframework
		    spring-context
		    5.0.4.RELEASE
		
		
			junit
			junit
			3.8.1
			test
		
	
	
		02_spring
		
			
			
				org.apache.maven.plugins
				maven-compiler-plugin
				
					
					1.8
					1.8
					UTF-8
				
			
		
	
application.xml

	
	
	
UserDao.java
package com.monkey1024.dao;

public interface UserDao {
	void addUser();
}
UserDaoImpl.java
package com.monkey1024.dao.impl;

import org.springframework.stereotype.Repository;

import com.monkey1024.dao.UserDao;

@Repository("userDao")
public class UserDaoImpl implements UserDao{
	public void addUser(){
		System.out.println("添加用户");
	}

}
 
UserService.java
package com.monkey1024.service;

public interface UserService {
	void addUser();
}
UserServiceImpl
package com.monkey1024.service.impl;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.annotation.Resource;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;

import com.monkey1024.dao.UserDao;
import com.monkey1024.service.UserService;


@Scope("prototype") //singleton单例的
@Service("userService")
public class UserServiceImpl implements UserService {
	
//	@Autowired
//	@Qualifier("userDao")
//	private UserDao userDao;
	
	@Resource(name="userDao")
	private UserDao userDao;
	
	
	public void addUser(){
		//以前需要手动创建对象
		//userDao = new UserDaoImpl();
		userDao.addUser();
	}
	
	@PostConstruct
	public  void before(){
		System.out.println("开始");
	}
	
	@PreDestroy
	public void after(){
		System.out.println("结束 ");
	}
	
}
Test01.java
package com.monkey1024.test;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.monkey1024.service.UserService;

public class Test01 {
	
	@Test
	public void testDI(){
		ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserService userService = (UserService) context.getBean("userService");
		userService.addUser();
	}
	
	@Test
	public void testInitAndDestroy(){
		ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserService userService = (UserService) context.getBean("userService");
		userService.addUser();
		//关闭容器
		((ClassPathXmlApplicationContext)context).close();
	}
	
	@Test
	public void testPrototype(){
		ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserService userService1 = (UserService) context.getBean("userService");
		UserService userService2 = (UserService) context.getBean("userService");
		System.out.println(userService1 == userService2);
	}
}

 

关注
打赏
1636984416
查看更多评论
立即登录/注册

微信扫码登录

0.0426s