目录
什么是Spring框架
1.概述
它是一个轻量级的企业级应用框架,企业应用开发的“一站式”选择,贯穿于表现层,业务层,持久层
设计理念
面向Bean的编程
核心部分:IOC和AOP
a. IOC:控制反转,把创建对象的过程交给Spring进行管理
b. AOP:面向切面编程,不修改源代码进行功能增强
什么是控制反转和依赖注入
控制反转(IOC):创建对象的控制权转移,是一种程序设计思想
依赖注入(DI):将依赖的对象注入到需要的类中去,是“控制反转”设计思想的具体实现方式
如何使用控制反转和依赖注入
可以通过四种实现方法:①get,set注入 ②构造函数注入 ③注解 ④p命名空间注入
1.get,set注入 一般用于对象
<bean id="users" class="domain.Users">
<property name="id" value="1001"></property>
<property name="name" value="星星"></property>
</bean>
public void textUsers(){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
Users users= (Users) context.getBean("users");
System.out.println(users.toString());
}
2.构造函数注入 一般用于Dao层或Service层
Mapper中的:
public interface SmsUserMapper {
/**
* 新增注入
* @return
*/
int insert();
}
public class SmsUserMapperImpl implements SmsUserMapper {
/**
* 新增注入
*
* @return
*/
@Override
public int insert() {
System.out.println("执行了新增方法......");
return 0;
}
}
Service中的:
public interface UserService {
/**
* 新增注入
* @return
*/
int insert();
}
public class UserServiceImpl implements UserService{
public SmsUserMapper smsUserMapper;
public UserServiceImpl(SmsUserMapper smsUserMapper) {
this.smsUserMapper = smsUserMapper;
}
/**
* 新增注入
*
* @return
*/
@Override
public int insert() {
System.out.println("执行了新增方法......");
return 0;
}
}
<!--构造注入-->
<bean id="userMapper" class="mapper.SmsUserMapperImpl"></bean>
<bean id="userService" class="service.UserServiceImpl">
<constructor-arg ref="userMapper"></constructor-arg>
</bean>
测试类:
public void testService(){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
UserService userService=(UserService) context.getBean("userService");
userService.insert();
}
3.注解 使用的最多!!!
1.先在Mapper实现类中加上注解,这个注解相当于<bean id="userMapper" class="mapper.SmsUserMapperImpl"></bean>