IOC_____使用java配置来代替xml配置(基础MVC)

使用java配置来代替xml:
这类方式多用于springboot

一、简单配置Bean
配置App:

/** 
 * Java配置文件
 *
 * @Configuration 让当前类和applicationContext.xml作用等价
 *
 **/

@Configuration//该注解是必须的
public class AppContext {
	/**
	 * @Bean 的作用和<bean>的作用是一样的
	 * id name 默认是和方法名相同的
	 * @return
	 */
	@Bean("user")
	public User getUser() {
		// TODO Auto-generated method stub
		Dog dog = new Dog("小狗");
		User user = new User("张三",dog,13);
		/*user.setName("张三");
		user.setAge(13);*/
		return user; 
	}
	
	
	@Bean("dog")
	public Dog getDog() {
		// TODO Auto-generated method stub
		Dog dog = new Dog();
//		dog.setName("小狗");
		return dog; 
	}
}

Pojo就是简单的pojo类这里省略

测试:

public class Test {
	public static void main(String[] args) {
		ApplicationContext applicationContext =
				new AnnotationConfigApplicationContext(AppContext.class);
		
		/*Dog dog = (Dog) applicationContext.getBean("dog");
		dog.setName("小狗");*/
		User user = (User) applicationContext.getBean("user");
		/*user.setName("张三");
		user.setDog(dog);
		user.setAge(13);*/
		
		System.out.println(user);
		
	}
}

二、开启扫描,进行自动配置
配置类:

@Configuration
@ComponentScan(basePackages="com.controller,com.service,com.dao,com.pojo")
public class App {
	
}

控制层:

@Controller
public class ControllerDemo {
	@Autowired//根据类型进行注入如要使用名称进行注入需要加入注解:
	@Qualifier
//	@Resource//根据名称进行注入
	private ServiceImpl s;
	public void say(String ss) {
		// TODO Auto-generated method stub
		s.say(ss);
	}
}

Service层

@Service
public class ServiceImpl {
	@Autowired
	private DAOImpl dao;
	public void say(String s) {
		// TODO Auto-generated method stub
		dao.say(s);
	}
}

DAO层

@Repository
public class DAOImpl {
	public void say(String s) {
		// TODO Auto-generated method stub
		System.out.println(s);
	}
}

测试:

ApplicationContext applicationContext = 
				new AnnotationConfigApplicationContext(App.class);
		ControllerDemo bean = (ControllerDemo) applicationContext.getBean("controllerDemo");
		bean.say("haha");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偷偷学习被我发现

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值