下面是基于IDEA创建SpringMVC项目的完整攻略流程图解:
前置条件
- 安装JDK和IDEA
- 熟悉Java和SpringMVC开发
创建SpringMVC项目
-
启动IDEA,点击“Create New Project”来创建新项目
-
选择“Spring Initializr”来创建SpringMVC项目
-
在“New Project”窗口中,选择“Spring Initializr”,然后点击“Next”
-
在“Spring Initializr”页面中,选择所需的项目信息,如项目类型、语言、Spring版本等。也可以选择相关的依赖项,最后点击“Next”
-
在“New Project”窗口中,输入项目名称和存储位置,并选择JDK版本。最后点击“Finish”来创建项目
-
等待IDEA创建项目完成后,打开“src/main/java/”目录,可以看到项目中自动生成了一个名为“DemoApplication”的Java文件,以及一个名为“application.properties”的配置文件。
-
按照自己的需求,修改或添加相关的Java文件和配置文件,开始进行SpringMVC开发。
示例说明
示例一:添加数据库连接
- 在“application.properties”文件中,添加数据库配置信息,如下所示:
spring.datasource.url=jdbc:mysql://localhost:3306/xxx_db?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
- 在Java代码中添加注解来标记该类为SpringMVC中需要管理的Bean,如下所示:
@Repository
public class UserDao {
// DAO相关的方法
}
- 在Java代码中使用JDBC来连接数据库,如下所示:
@Repository
public class UserDao {
private JdbcTemplate jdbcTemplate;
@Autowired
public UserDao(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public List<User> getUsers() {
String sql = "SELECT * FROM user";
RowMapper<User> rowMapper = new BeanPropertyRowMapper<>(User.class);
return jdbcTemplate.query(sql, rowMapper);
}
}
示例二:添加Spring Security安全认证
- 在“pom.xml”文件中添加Spring Security的依赖库,如下所示:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>5.4.2</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>5.4.2</version>
</dependency>
- 在Java代码中添加Spring Security的配置类,如下所示:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private CustomUserDetailsService customUserDetailsService;
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable()
.authorizeRequests()
.antMatchers("/login", "/logout").permitAll()
.antMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/")
.permitAll()
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessUrl("/login")
.permitAll();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(customUserDetailsService).passwordEncoder(passwordEncoder());
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
- 在Java代码中实现UserDetailsService接口,并添加注解标记该类为SpringMVC中需要管理的Bean,如下所示:
@Service
public class CustomUserDetailsService implements UserDetailsService {
@Autowired
private UserDao userDao;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
User user = userDao.getUserByUsername(username);
if (user == null) {
throw new UsernameNotFoundException("用户名不存在");
}
List<GrantedAuthority> authorities = AuthorityUtils.commaSeparatedStringToAuthorityList(user.getRoles());
return new org.springframework.security.core.userdetails.User(user.getUsername(), user.getPassword(), authorities);
}
}
通过以上两个示例,我们可以看到基于IDEA创建SpringMVC项目流程图解的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于IDEA创建SpringMVC项目流程图解 - Python技术站