1、@Required注解只能作用在方法上
2、如果@Required注解作用的方法没被调用到,则应用是不能够正常启动的,即会抛出如下异常:
Caused by:org.springframework.beans.factory.BeanInitializationException:
Property 'bankSecurityDao' is required for bean 'bankSecurityService'。。。。。
3、空指针终结者:Optional<>
java8.0的java.util.Optional既能避免NullPointerException又可避免不必要的非空判断,它明确指出开发者哪些对象是需要非空检查的
4、@Conditional注解:@Conditional类似于@Profile,一般用于多个环境(开发环境、测试环境、正式机环境)中进行配置切换,即通过某个配置来开启某个环境。@Conditional注解的优点是允许自己定义规则。可以指定在如@Component、@Bean、@Configuration等注解的类上,已决定是否创建Bean等
5、在项目开发中,可通过配置Maven工程中的pom.xml文件来下载Spring相应的构建包(spring-context),
在pom.xml中配置Spring依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.2.RELEASE</version>
</dependency>
</dependencies>
6、Spring框架文档
在线文档地址http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle
7、Spring所有的子项目源码和实例工程代码都托管在Github,可以通过Git客户端TortoiseGit到下载地址下载
下载框架源码地址:https://github.com/spring-projects/spring-framework
下载实例源码地址:https://github.com/spring-projects/spring-petclinic
8、持久层:实体类entity和dao
业务层:service
dao的注解是@Repository,service的注解是@Service
9、ModelAndView
ModelAndView("login","error","用户名或密码错误")和ModelAndView("main")
ModelAndView的第一个参数代表视图的逻辑名,第二、第三个参数分别为数据模型名称
和数据模型对象,数据模型对象将以数据模型名称为参数放置到request的属性中。
10、<c:url value="/loginController.html"/>的JSTL标签会在URL前自动应用部署根目录
11、在POJO类定义处标注@Controller,再通过<context:component-scan/>扫描相应的类包,即可使POJO成为一个能处理http请求的控制器。
12、在控制器的类定义及方法定义处都可以标注@RequestMapping,类定义处的RequestMapping提供初步的请求映射信息,方法定义处的@RequestMapping提供进一步的细分映射信息。DispatcherServlet截获请求后,就通过控制器上@RequestMapping提供的映射信息确定请求所对应的处理方法。
13、spring框架(spring-web-4.1.5RELEASE.jar)里面有MultipartFile类,该类可以用来获得文件的大小。