@RestController注解相当于@ResponseBody + @Controller合在一起的作用
1)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。
例如:本来应该到success.jsp页面的,则其显示success.
2)如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
3)如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
@RequestMapping,到了新版本被下面新注释替代,相当于增加的选项:
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping
@PathVariable是spring3.0的一个新功能:接收请求路径中占位符的值
@RequestMapping("show5/{id}/{name}")
public ModelAndView test5(@PathVariable("id") Long ids ,@PathVariable("name") String names){
@Column注解介绍
但是对于 Date 类型仍无法确定数据库中字段类型究竟是 DATE,TIME 还是 TIMESTAMP. 此
外 ,String 的默认映射类型为 VARCHAR, 如果要将 String 类型映射到特定数据库的 BLOB
或 TEXT 字段类型,该属性非常有用。
示例 :
@Column(name=“BIRTHDAY”,nullable = false,columnDefinition=“DATE”)
public String getBithday() {
return birthday;
}
@Column(name = “id”, nullable = false, columnDefinition = “BIGINT UNSIGNED”)
private Long id;
@Column(updatable = false, name = “flight_name”, nullable = false, length=50)
public String getName() { … }
@Lob
@Column(columnDefinition=“text”)
在用idea写一个实现类时引用了mapper类的来调用dao层的处理,使用@Autowired注解时被标红线,找不到bean。
、使用@mapper后,不需要在spring配置中设置扫描地址,通过mapper.xml里面的namespace属性对应相关的mapper类,spring将动态的生成Bean后注入到ServiceImpl中。
2、@repository则需要在Spring中配置扫描包地址,然后生成dao层的bean,之后被注入到ServiceImpl中
1、@Component: 作用于类上,告知Spring,为这个类创建Bean。 2、@Bean:主要作用于方法上,告知Spring,这个方法会返回一个对象,且要注册在Spring的上下文中。通常方法体中包含产生Bean的逻辑。 相当于 xml文件的中标签。
1、Component :作用于类上,通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中。(@Controller、@Service、@Repository )
2、@Bean: 作用于方法或注解上,通常这个方法中定义产生这个Bean的逻辑。
1、Component :作用于类上,通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中。(@Controller、@Service、@Repository )
2、@Bean: 作用于方法或注解上,通常这个方法中定义产生这个Bean的逻辑。
3、Spring帮助我们管理Bean分为两个部分 (引用这里):
一个是注册Bean(@Component , @Repository , @Controller , @Service , @Configration),
一个装配Bean(@Autowired , @Resource,可以通过byTYPE(@Autowired)、byNAME(@Resource)的方式获取Bean)。 完成这两个动作有三种方式,一种是使用自动配置的方式、一种是使用JavaConfig的方式,一种就是使用XML配置的方式。