spring-maven?
第一步:在pom.xml中导入spring需要的jar包
第二步:在resources目录下面创建一个beans.xml文件
第三步:spring IOC 依赖注入(基于annotation)
1.在beans.xml文件中的namespace选项里面勾选...../schema/beans和...../schema/context选项,或在创建的时候勾选.
2.在beans.xml文件中配置
<!--指定spring去那些包下面扫描的组件 -->
<context:component-scan base-package="com.hx.spring"/><!-- 自动在 com.hx.spring这个包下扫描所有的注解-->
<!--开启sprig对注解的支持 -->
<context:annotation-config/>
3.在我们的这些层中的类名上一行
(1)添加@Component添加这个注解,(把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)
getBean的默认名称是类名(头字母小写),如果想自定义,可以@Service(“***”)这样来指定,这种bean默认是单例 的,如果想改变,可以使用
@Service(“beanName”)
@Scope(“prototype”)
public class User {
}
(2)区分各种层的不同注解
entity层(bean)User--->@Component("user")---可在其属性上一行加上value("xxx"),表示赋默认值
dao层中UserDao-->UserDaoImpl()--->@Repository(value = "userDao")//实现dao访问(默认为单例)
Service层UserService--->UserServiceImpl()--->@Service(value = "userService")//注入dao层 new UserDao() (默 认为单例)
Controller层UserController---//@Controller(value = "userController")//注入服务层new ServiceImpl() (默认为单 例)
@Scope("prototype") //开启多例模式
想要使用实例的时候就用@Autowired
例如:
Service层UserServiceImpl类{
@Autowired
private UserDao userDao;
,,,,
}
Controller层UserController类{
@Autowired
private User user;//使用有默认值的实体类
@Autowired
private UserService userService;
}