1、启动类中常用的注解
@ComponentScan
自动扫描组件,可自动发现和装配一些Bean。(如Controller、Service、Component 、Repository 等)
@Configuration
用于定制配置类,相当于spring的xml文件。
在类中添加这个注解相当于把这个类做为spring的配置文件中的。
如果有些第三方库需要用到xml文件,可通过@Configuration类作为项目的配置主类 。
@EnableAutoConfiguration
尝试根据你添加的jar依赖自动配置你的Spring应用 。通常放在Application类里面。
@SpringBootApplication
包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解的作用。
即配置SpringBootApplication后无需再配置上面三个注解,使用三个注解的默认配置。
2、bean的分类标识
@Service
注解在类上,表示这是一个业务层bean。使用方法是在业务实现类上进行注解Service("name") 如
@Service("yceqService")
public class YceqServiceImpl implements IYceqService {
}
在需要使用该业务的地方则是通过注解Resource的方式获取到这个对象,如在控制层中使用的话,则
@Controller
@RequestMapping("/yceq")
public class YceqConstroller {
@Resource
private IYceqService yceqService;
}
需要注意的是,Service中定义的name和控制层中定义的名称是一致的。
@Controller
注解在类上,表示这是一个控制层bean。
在项目中负责把用户发来的URL请求转发到对应Service层去,这个注解一般与RequestMapping配合使用。如
@Controller
@RequestMapping("/yceq")
public class YceqConstroller {
@Resource
private IYceqService yceqService;
}
@Repository
注解在类上,表示这是一个数据访问层bean。
使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项。
@Repository("yceqDao")
public interface IYceqDao {
public List getOrgInfo(Map map);
public void insertOrg(Map map);
public void insertDev(Map map);
public List getOrgInfo2(Map map);
public ListgetAll();
public List getOrgCache(String parentserialnumber);
}
要注意的是:这个接口中不可以定义同名的方法,因为会生成相同的id。这个接口不支持重载。
@Component
注解在类上,表示通用bean。
无法确定一个bean是属于哪一层(控制层、数据访问层、业务层)的时候使用。
使用方法与上述基本一致。
@RestController
等同于Controller和ResponseBody的合集,表示这个类是一个控制器bean(等同于struts中的action),并且函数的返回值直接填入HTTP响应体中。
@RestController
@RequestMapping(“/demo”)
public class DemoController2 {
@RequestMapping("/test")
public String test(){
//访问 ip:端口/demo/test 会返回字符串ok
return"ok";
}
}
帖子还没人回复快来抢沙发